Nei*_*ilC 3 javascript jquery user-interface triggers drag
使用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]);
} });
Run Code Online (Sandbox Code Playgroud)
它适用于以下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>
Run Code Online (Sandbox Code Playgroud)
这是一种将拖动应用于动态更改其子项的容器内的元素的方便方法.我喜欢称之为"拖曳代表团".
然而随着jQuery 1.3.x和jQuery 1.6+的发布,上面的脚本停止了工作.使用jQuery 1.3.2和jQuery UI 1.7.1会返回错误"太多的递归".
如何手动触发拖动?有什么建议?
小智 12
上面的答案似乎过于复杂.
$('.nonDraggableObjectWhichTriggersDrag').mousedown(function(e) {
$('.draggableObject').trigger(e);
});
Run Code Online (Sandbox Code Playgroud)