jquery - 为什么当我尝试将它们放入彼此时,我所有的 JQuery 拖放对象都消失了?

标签 jquery html css jquery-ui web

我一直在尝试使用 JQuery 允许 x 数量的动态生成的 div 框相互拖放。

问题是,每当我尝试将一个框拖入另一个框时,我生成的每个框,无论是否参与操作,都会消失。

Here's the fiddler link .

代码如下:

$('#btnOpen').click(function() { OnClientDroppedHandler(); });    


function OnClientDroppedHandler() {

    $('#divWorkSpace').append('<div class="divLoc"><p> I am a box.  Try to Drag and Drop me into another box </p></div>');
    $('.divLoc').resizable();

    $('.divLoc').droppable({
        accept: '.divLoc',
        over: function () {
                $('.divLoc').appendTo($(this));
                $(this).animate({ 'border-width': '5px',
                    'border-color': '#0f0'
                }, 500);
                $('.divLoc').draggable('option', 'containment', $(this));
        }
    });

    $('.divLoc').draggable({
        containment: $('.divWorkSpace')
    });
    return false;      
};

CSS:

.divLoc
{
width:100px;
height:100px;
background-color: White;
border: 1px solid black;
z-index: 100;
}

标记:

<input id="btnOpen" type="button" value="Click to Open New Dialog" /> -- Generate at least two dialogs and try to drag and drop them into each other --
<div id="divWorkSpace" style="height: 500px; width: 700px; background-color: Gray;"></div>

感谢帮助

最佳答案

问题是您的对话框没有唯一的 ID。您使用类,而您应该在以下行中使用 id:

$('.divLoc').appendTo($(this));

您所做的是将所有 div 附加到您放置某些东西的 div 上。这意味着您将其附加到自身。

希望这会有所帮助。

关于jquery - 为什么当我尝试将它们放入彼此时,我所有的 JQuery 拖放对象都消失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13935126/

相关文章:

CSS 图像过滤器覆盖

javascript - 如何仅通过鼠标悬停显示菜单?

jquery - 为 Jquery 可排序 Portlet 添加最大化和最小化按钮

javascript - 将 json 列表动态绑定(bind)到 HTML

java - 在不使用 HTML 的情况下在 JTextPane 中使单行变为粗体

html - 改变css中复选框的宽度

javascript - 带标签的旋转木马 : adjust active tab when carousel slides to next or previous slide

css - 模糊具有锐利边缘的背景图像并清洁其上的相同图像。

html - 为什么要使用条件样式表?

jquery - 溢出 :hidden breaks jQuery slider