6

我正在尝试在 JavaScript 中为可拖动的 DIV 捕获 dragend 事件。dragend 事件根本没有触发,为什么?以及如何解决这个问题?PS,我使用 .draggable() 方法来自:jQuery UI 1.9.2

这是我的代码:http: //jsfiddle.net/vBMav/

HTML:

<div id="divId"> ... </div>

CSS:

#divId {
    background-color: #000000;
    color: #ffffff;
    height: 200px;
    width: 200px;
}

Javascript:

$('#divId').draggable(); 

$('#divId')
    .bind('dragstart', function(){ $("#divId").text("drag start"); })
    .bind('drag',      function(){ $("#divId").text("dragging");   })
    .bind('dragend',   function(){ $("#divId").text("drag ended"); });
4

2 回答 2

13

尝试使用dragstop而不是dragend

.bind('dragstop',   function(){ $("#divId").text("drag ended");});
于 2013-02-27T14:13:28.627 回答
0

在 JavaScript 和 jQuery中,当用户停止拖动光标时,触发的事件是:dragend.

在 jQuery UI中,调用 后.draggable();,当用户停止拖动光标时,触发的事件变为:dragstop。(小演示显示在不调用时 dragstop 不再有效.draggable()。 )

文档...

JavaScript - dragend:在 google 上搜索这个会产生大约 100,000 个搜索结果,所以这很可能是您将使用的。来源:MDN Web 文档:文档:dragend 事件

jQuery UI - dragstop:截至 2020 年 8 月,在 Google 上搜索“jQuery UI Dragstop”只会产生 5,000 个搜索结果。我几乎找不到任何提及它的内容,但它在官方 jQuery UI 文档:Draggable Widget中有。

于 2020-08-10T22:49:12.107 回答