我有一个可拖动/可排序集列出了我动态添加项目的,但麻烦的是,一旦项目已被添加,这是不可能将其移动到新名单。 :你可以在这里看到的功能http://jsfiddle.net/Y4T32/2/
从可用列表中拖动项目到目标列表中的一个,你会看到我的意思。 现在添加了“标注”,并尝试新的项目拖动到目标的一列。
我发现在这里我想要的工作另一种答案,但一直无法重现他们得到的结果(当然,现在无法找到答案)。 任何深入了解我做错了什么在这里?
我有一个可拖动/可排序集列出了我动态添加项目的,但麻烦的是,一旦项目已被添加,这是不可能将其移动到新名单。 :你可以在这里看到的功能http://jsfiddle.net/Y4T32/2/
从可用列表中拖动项目到目标列表中的一个,你会看到我的意思。 现在添加了“标注”,并尝试新的项目拖动到目标的一列。
我发现在这里我想要的工作另一种答案,但一直无法重现他们得到的结果(当然,现在无法找到答案)。 任何深入了解我做错了什么在这里?
已更新ANSWER
你必须调用.draggable()
为被添加的每个元素。 你在初始化时使用jQuery选择仅适用于存在于当下,而不是您将创建的那些元素。
下面是一些JS应该工作:
var draggable_opts = {
connectToSortable: ".sph-callout-portlet",
helper: "clone",
opacity: 0.75,
revert: 'invalid',
stop: function(event, ui) {
//alert(ui)
}
};
$(function() {
$( ".sph-callout-portlet" ).sortable({
opacity: 0.75,
placeholder: "ui-state-highlight",
}).disableSelection();
$( "#sph-callout-portlet-avail li" ).draggable(draggable_opts);
$(document).on("click",'#addNewCo',function(e){
e.preventDefault();
var newCo = $('<li>New Callout</li>').draggable(draggable_opts);
$('#sph-callout-portlet-avail').append(newCo);
});
});
http://jsfiddle.net/SGevw/