jquery可拖动隐藏内容
Posted
技术标签:
【中文标题】jquery可拖动隐藏内容【英文标题】:jquery draggable with hidden content 【发布时间】:2012-11-08 16:48:08 【问题描述】:我正在使用可拖动和可排序的列表在它们之间拖动和排序项目。但是,我拥有的项目是可滑动的(即单击它们会显示/隐藏内容)。当我将一个项目从一个列表拖到另一个列表时,滑动效果会丢失。此外,如果我有一个隐藏其子节点的项目,并且我将该项目拖动到另一个列表,则仅拖动该项目(没有任何子内容)。这是代码
http://jsbin.com/ujivav/1/edit
【问题讨论】:
【参考方案1】:KHY 是正确的,但您也可以将 click
事件更改为使用 on
,如下所示:
$('body').on('click', '.clicktohide',function()
$(this).siblings().slideToggle('fast');
);
这是一个例子http://jsbin.com/ujivav/4/edit
【讨论】:
【参考方案2】:我相信这是因为一旦加载了初始页面,就会发生与“click”事件的绑定。鉴于在您的示例中,在被拖动后,具有“.clicktohide”类的元素被复制,复制的元素不在“click”事件所绑定的选择中。
我猜你必须通过实现触发“停止”事件时调用的回调函数来将此事件绑定到拖动的元素上。
【讨论】:
我是 JS 和 jQuery 新手,能否请您更具体地了解一下“停止”事件。在这种情况下我会在哪里使用它?【参考方案3】:看起来“克隆”并没有重新创建事件处理程序,只是重新创建了 DOM 元素。尝试在“停止”事件上手动复制。这样你就可以告诉它如何处理新的 DOM 元素。
【讨论】:
以上是关于jquery可拖动隐藏内容的主要内容,如果未能解决你的问题,请参考以下文章