使用 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);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)