【发布时间】:2012-12-02 17:19:59
【问题描述】:
我在鼠标处于向下位置之后释放之前创建了一个新的 jQuery 元素。 (鼠标按下后)。
我想使用 jQuery UI 以编程方式在新元素上触发 dragging,以便它会随着我的鼠标移动而自动开始拖动。我不想释放然后再次单击鼠标。
我已经尝试了以下...
var element = $("<div />");
element.appendTo("body").draggable().trigger("mousedown");
...但是这不起作用。
有人对如何实现这一点有任何建议吗?
更新:经过一番搜索this question 的发帖人有同样的问题。但是,建议的解决方案归结为...
$("body").on("mousedown", function(e) {
$("<div />").draggable().appendTo("body").trigger(e);
});
...在最新版本的 jQuery 和 jQuery-UI 中不再工作,而是生成一个 Maximum Call Stack Exceeded 错误。
【问题讨论】:
-
找到解决方案了吗?我发现没有一个答案真的有效。我认为没有人理解这个问题。
-
在插入的元素上使用
.trigger(e)重新触发mousedown 事件,如stackoverflow.com/q/8759884/165673 中所述,在最新的jQuery 1.9 中为我工作......你能做一个小提琴来展示Max Call 错误是如何发生的吗? -
@anber - 抱歉,我从来没有找到解决方案。我最终滚动了自己的可拖动来解决这个问题。
标签: jquery-ui jquery jquery-ui-draggable