jquery-ui - 如何以编程方式调用 jQuery UI Draggable 拖动启动?

标签 jquery-ui jquery jquery-ui-draggable

我在鼠标处于向下位置之后和释放之前创建了一个新的 jQuery 元素。 (鼠标按下后)。

我想使用 jQuery UI 以编程方式触发新元素上的拖动,以便它会随着我的鼠标移动自动开始拖动。我不想必须松开鼠标然后再次单击鼠标。

我已经尝试过以下...

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 中不再有效,而是生成最大调用堆栈超出错误。

最佳答案

可拖动插件期望其 mousedown 事件使用其 namespace 并指向可拖动对象作为目标。修改事件中的这些字段适用于 jQuery 1.8.3 和 jQuery UI 1.9.2。

$("body").on("mousedown", function(e) { 
  var div = $("<div />").draggable().appendTo("body");
  e.type = "mousedown.draggable";
  e.target = div[0];
  div.trigger(e);
});

此处演示:http://jsfiddle.net/maCmB/1/

关于jquery-ui - 如何以编程方式调用 jQuery UI Draggable 拖动启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13883214/

相关文章:

jquery - 创建上标jqeryui按钮

jquery鼠标悬停动画跳跃

javascript - html 页面占用 100% 窗口大小且始终在顶部

jquery - 使用 jQuery 在单独的 DIV 中包装任意内容(H2、H3、P 等)

javascript - 将多个变量传递给内容脚本 chrome

php - 克隆一个可拖动的 div

javascript - 将元素从一个 div 内部拖动到另一个 div 中

javascript - JqueryUI 无法将行移动到容器的顶部

jquery-ui 可排序连接列表 - 放在空列表上

jquery-ui - 如何保存可拖动元素和可调整大小元素的位置?