Mar*_*man 16 jquery jquery-ui jquery-ui-sortable jquery-ui-draggable
我使用jQuery UI Draggable/Sortable演示(http://jqueryui.com/demos/draggable/#sortable)作为我项目的基础.<li>当sortable收到它时,我需要获得一个被克隆到sortable中的引用.我尝试了sortable的receive事件,但是它只提供了对原始draggable的引用<li>,而不是它的克隆.
And*_*ker 30
在你引用的演示中,实际上有一个bug; 在你向下拖动一个项目之后,它会将一个与其兄弟的副本li一起克隆id到DOM中,所以要小心(提交了一个有关此问题的错误但是周围没有任何活动).
我做了一些事情来实现这个目标:
为了解决我上面描述的演示的限制,而是将一个class可应用的项目应用于将链接到sortable:
<ul>
<li class="new-item ui-state-highlight">Drag me down</li>
</ul>
Run Code Online (Sandbox Code Playgroud)使该类具有可拖动的项目,而不是通过以下方式选择元素id:
$(".new-item").draggable({
connectToSortable: "#sortable",
helper: "clone",
revert: "invalid"
});
Run Code Online (Sandbox Code Playgroud)点击可排序的stop事件,并对已删除的项目执行一些简单的逻辑,利用这样一个事实,即new-item只能删除具有该类的项目(并且不仅仅是可排序项中的现有项目):
$("#sortable").sortable({
revert: true,
stop: function(event, ui) {
if (ui.item.hasClass("new-item")) {
// This is a new item
ui.item.removeClass("new-item");
ui.item.html("<b>HI</b>");
}
}
});
Run Code Online (Sandbox Code Playgroud)请注意,您可以使用该data-*属性而不是添加帮助程序类.
这是一个有效的例子:http://jsfiddle.net/andrewwhitaker/twFCu/
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
15613 次 |
| 最近记录: |