JQuery 可排序和可拖动的行为

Behaviors of JQuery sortable and draggable

我有 2 个可拖动对象 'field' 和 'container' 以及一个可排序对象 'ui-main'。我想要做的是将上面的 2 个对象拖到 'ui-main' 中,并允许将对象添加到 'container' 中,创建一个嵌套的可排序表单。

这是演示:https://jsfiddle.net/tblaziken/a2qbnygb/1/

目前javascript:

$('.ui-select .ui-select-item').draggable({
    revert : "invalid",
    helper: 'clone',
    connectToSortable : '.ui-sortable'
});

$( ".ui-sortable" ).sortable({
    connectWith: '.ui-sortable',
    placeholder: 'ui-hovering'
});

问题是我只能将新对象添加或移动到 ui-main 和 2 个已存在的 ui-container 对象中,但无法对新创建的 ui-container 对象执行此操作。是什么让现有的和新创建的不同,如何解决?

对我来说,你的 jsfiddle 中的一切都按预期工作。但是,您使用克隆助手,它不能让您完全控制克隆时发生的事情。 jQuery 的 clone() 函数需要 2 个参数。

.clone( [withDataAndEvents ] [, deepWithDataAndEvents ] )

因此,要在每个元素上都有相同的事件,您可以自己克隆它们,将两个参数都设置为 true,或者您 bind/unbind 将事件再次发送给每个新添加的对象。