3

我正在使用可拖动和可排序的列表在它们之间拖动和排序项目。但是,我拥有的项目是可滑动的(即单击它们会显示/隐藏内容)。当我将一个项目从一个列表拖到另一个列表时,滑动效果会丢失。此外,如果我有一个隐藏了其子节点的项目,并且我将该项目拖动到另一个列表,则仅拖动该项目(没有任何子内容)。这是代码

http://jsbin.com/ujivav/1/edit

4

3 回答 3

3

KHY 是正确的,但您也可以更改click要使用的事件on,如下所示:

$('body').on('click', '.clicktohide',function(){
    $(this).siblings().slideToggle('fast');
});

这是一个例子http://jsbin.com/ujivav/4/edit

于 2012-11-20T15:29:56.393 回答
2

我相信这是因为一旦加载了初始页面,就会发生与“click”事件的绑定。鉴于在您的示例中,在被拖动后,具有“.clicktohide”类的元素被复制,复制的元素不在“click”事件所绑定的选择中。

我想您必须通过实现在触发“停止”事件时调用的回调函数来将此事件绑定到拖动的元素上。

于 2012-11-20T15:27:24.070 回答
0

它看起来不像“克隆”重新创建事件处理程序,只是 DOM 元素。尝试在“停止”事件上手动复制。这样你就可以告诉它如何处理新的 DOM 元素。

于 2012-11-20T15:32:00.293 回答