javascript – 在jQuery UI中触发鼠标拖动

前端之家收集整理的这篇文章主要介绍了javascript – 在jQuery UI中触发鼠标拖动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用jQuery 1.2.x和jQuery UI 1.5.x,可以像下面这样手动触发拖动:

jQuery("#myDiv").mousedown(function(ev) {
target = jQuery(ev.target);
if (target.hasClass("drag-me")) {
    target.draggable({
        helper: "clone",start: function()
        {
            console.log("drag start");
        },stop: function()
        {
            jQuery(this).draggable("destroy");
        }
    }).trigger("mousedown.draggable",[ev]);
} });

它适用于以下HTML:

<div id="myDiv">
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
</div>

这是一种将拖动应用于动态更改其子项的容器内的元素的方便方法.我喜欢称之为“拖曳代表团”.

然而随着jQuery 1.3.x&的发布jQuery 1.6,上面的脚本停止了工作.使用jQuery 1.3.2& jQuery UI 1.7.1返回错误“太多的递归”.

如何手动触发拖动?有什么建议?

解决方法

上面的答案似乎过于复杂.

$('.nonDraggableObjectWhichTriggersDrag').mousedown(function(e) {
   $('.draggableObject').trigger(e);
});

猜你在找的jQuery相关文章