0

我在这里的 jsfiddle 中注意到 - http://jsfiddle.net/stevea/T4sGh/1/ - 当您将红色框拖放到米色框上时,看起来红色框进入了米色框内,但在HTML 它实际上成为米色框的兄弟,并且只是给定偏移量以将其放置在米色框上:

<body style="cursor: auto;">
   <div id="box" class="ui-droppable"></div>
   <div id="redBox" class="ui-draggable" style="position: relative; left: 89px; top: -213px;"></div>
</body> 

这是出乎意料的。我不记得有任何讨论过这个的 jQuery-UI 文档。有没有人知道这里发生了什么,也许可以给我指出一些文档?

谢谢

4

2 回答 2

1

如果您查看此jQuery UI页面上的示例,您会注意到这是默认行为。

如果您希望将object 设为dragableobject 的子dropable对象,则必须在 drop 函数中手动附加它,例如:

 $(this).append($(ui.helper[0]));

提及的全部目的accept : '#redBox'是,当您放置#redBoxdropablediv 上时,会触发 drop 事件。

于 2013-07-29T05:57:10.790 回答
1

并且默认情况draggabledroppable不更改 DOM。如果您想这样做,您可以利用它们公开的事件。这是你的小提琴更新。我正在使用 drop 事件来在放置时重新定位容器draggable内部:droppable

var cell_dropOps = {     
    drop : box_drop,        
    accept : '#redBox',
    drop: function (event, ui) {
        $(this).append(ui.draggable);
        ui.draggable.css({ top: 0, left: 0});
    }
};
于 2013-07-29T06:17:34.157 回答