单击可拖动启动拖动

Click on a draggable initiates dragging

提问人:Amitava Karan 提问时间:10/20/2014 更新时间:3/30/2015 访问量:69

问:

我在页面中有一个树结构元素。我让叶子可以拖动。我们可以将它们拖放到它们的直接父级之间。ul lililili

除了一个问题,一切都很好。如果我们点击 ,它开始拖动,需要再次点击才能停止。li

仅供参考,我们正在使用 jquery treeview 插件使此结构成为树视图。ul li

对此的任何帮助将不胜感激。

jQuery-jquery-draggable

评论

0赞 TCHdvlp 10/20/2014
jQuery TreeView中有什么选项吗?
0赞 Amitava Karan 10/21/2014
我们正在使用的 treeview 插件是旧的,缺少文档。它可能具有拖放功能,但我没有找到任何示例或文档。所以我使用 jquery draggable 实现了。

答:

0赞 Ariel De Prada 10/20/2014 #1

在初始化 Draggable 插件时尝试使用 Delay 选项。将其设置为 250 毫秒或其他时间将延迟拖动,因此如果用户只是单击元素,它就不会开始拖动。

http://api.jqueryui.com/draggable/#option-delay

评论

0赞 Amitava Karan 10/21/2014
我已经尝试过这种方法。但它没有用。当我像 2000 毫秒这样的延迟时。在我点击元素后,它只是在 2 秒后分期拖动。li
0赞 sudhansu63 3/30/2015 #2

由于 Jquery 上下文菜单和可拖动的冲突,我们遇到了类似的问题。

在jquery上下文菜单脚本文件中更新以下代码。

参考 : jQuery 上下文菜单与 jQuery Draggable 冲突以获取更多信息。

jQuery(this).mousedown( function(e) {
var evt = e;
if (e.button == 2) //Added to make this compatible with draggable
    evt.stopPropagation();
jQuery(this).mouseup( function(e) {
    if (e.button == 2) //Added to make this compatible with draggable
        e.stopPropagation();
    var srcElement = jQuery(this);

希望这会有所帮助。