【发布时间】:2019-01-06 21:32:22
【问题描述】:
我发现这个网站有我需要的拖放功能,当我做拖放时元素交换了,但是有一个问题,我想用 css 个性化每个列表元素,但是当我做拖放时,我从元素中丢失了 id。有人能告诉我我可以对这个函数做什么,这样我就不会丢失 id 吗?
这是网站: http://www.authorcode.com/swap-elements-when-drag-one-onto-another-using-jquery-ui/
这是函数:
$(function() {
$("#dragdiv li,#dropdiv li").draggable({
appendTo: "body",
helper: "clone",
cursor: "move",
revert: "invalid"
});
initDroppable($("#dropdiv li,#dragdiv li"));
function initDroppable($elements) {
$elements.droppable({
activeClass: "ui-state-default",
hoverClass: "ui-drop-hover",
accept: ":not(.ui-sortable-helper)",
over: function(event, ui) {
var $this = $(this);
},
drop: function(event, ui) {
var $this = $(this);
var li1 = $('<li>' + ui.draggable.text() + '</li>')
var linew1 = $(this).after(li1);
var li2 = $('<li>' + $(this).text() + '</li>')
var linew2 = $(ui.draggable).after(li2);
$(ui.draggable).remove();
$(this).remove();
initDroppable($("#dropdiv li,#dragdiv li"));
$("#dragdiv li,#dropdiv li").draggable({
appendTo: "body",
helper: "clone",
cursor: "move",
revert: "invalid"
});
}
});
}
});
谢谢
【问题讨论】:
标签: javascript jquery drag-and-drop jquery-ui-droppable