如何立即触发Dragend事件

问题描述 投票:0回答:1

我正在尝试解决当拖动到可拖动区域之外时立即触发dragend事件的问题。例如,请注意在以下视频中,将标签拖到可拖动区域之外(在其内部时,它立即注册)时,大约有0.25s的延迟:dragend

这是JSFiddle:https://gyazo.com/18d1afc32eb065d1f35896697ef0479e

这个问题大约在7年前在这里问到的:http://jsfiddle.net/radonirinamaminiaina/zfnj5rv4/,但这似乎更像是对浏览器的限制,当我被问到时,我的问题有很大不同。

当将事件拖到可拖动区域之外时,是否可以立即触发该事件?例如,在jfiddle示例中,如果将“此div是可拖动的”拖动到浏览器的左上角,以便它以零延迟“快回”?

javascript browser dom-events
1个回答
0
投票

[当您删除这样的元素时,您可以尝试自行触发HTML5 dragend event firing immediately事件:

dragend

我无法测试是否会删除动画,因为它似乎是MacOS引起的行为?

还请注意,这可能会使事件document.addEventListener("drop", function( event ) { event.preventDefault(); // currentTarget refers to document because I added the listener on it. event.currentTarget.dispatchEvent(new Event('dragend')); }, false); 触发两次。

我希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.