JQuery可排序和可拖动的行为

时间:2015-09-21 09:14:52

标签: javascript jquery draggable jquery-ui-sortable nested-sortable

我有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这样做。是什么让现有的和新创造的不同以及如何解决它?

1 个答案:

答案 0 :(得分:2)

对我来说,jsfiddle中的所有内容都按预期工作。但是,您使用克隆帮助程序,它无法完全控制克隆时发生的情况。 jQuery的clone()函数需要2个参数。

.clone( [withDataAndEvents ] [, deepWithDataAndEvents ] )

因此,要在每个元素上拥有相同的事件,您可以自己克隆它们,将两个参数设置为true,或者将事件再次绑定/取消绑定到每个新添加的对象。