jQuery Sortable —拖动时删除默认行为,放下后恢复
||
我有一个图片网格,我希望可以拖放该图片进行排序。 sortable()很好用。需要注意的是,我还运行了jQuery Fancybox插件http://fancybox.net,单击该插件将打开图像的较大视图。
因此,您可以单击以开始拖动,但是一旦放下,fancybox就会被触发并且图像放大。
我已经尝试过类似的操作,但是事情真的搞砸了(拖动不再起作用,我的列表在页面上重新排列,很讨厌):
$(\'#list\').sortable({
start:function(e,ui) {
e.preventDefault();
}
});
尝试过start
和stop
,但没有运气。我也尝试解除对项目的click
处理程序的绑定,但这也无济于事。理想情况下,我可以在拖动时“隐藏” fancybox处理程序,然后在放下后恢复它们。可能有一种方法可以在拖动时取消整个列表的花式框,然后再次调用$.fancybox()
进行启动,但是有一种更简单的方法...
谢谢你的帮助!
没有找到相关结果
已邀请:
3 个回复
蓄荣糖些
将
放到sortable的
回调中是行不通的:显然,sortable
在fancybox
之前触发,因此类在fancybox出现时就消失了。 请注意,sortable直接针对列表中的
,而fancybox则针对列表项中的
。这就是为什么我必须在fancybox的
中得到ѭ12的原因。哦,只要将ѭ9中的ѭ14移到足以让fancybox忽略该点击!
窝头菊
显然,使用全局变量不是理想的选择,但是这证明了这一概念。我想知道click事件的某些属性是否可以标记为说它是一次拖动单击。也许以后我会摆弄些东西看看。 我还在堆栈溢出上看到了另一篇文章,该文章处理了类似的问题,并使用了取消绑定和重新绑定: jQuery UI Sortable-如何取消已拖动/排序项目的click事件?
淑灯
您可以尝试一下。 ķ