gpt4 book ai didi

javascript - 拖动时的 mouseUp 事件

转载 作者:可可西里 更新时间:2023-11-01 01:40:25 25 4
gpt4 key购买 nike

我有一个链接,它有 mousedown 和 mouseup 处理程序来为页面上的一些对象设置动画。拖动(拖放)链接时会触发 mousedown 事件,但在释放时不会触发 mouseup 事件。这个问题有解决方法吗?

这里有一个例子,如果你点击链接正常,但是当你拖动链接鼠标向上时不会发生:

http://jsfiddle.net/hL3mg/1/

最佳答案

处理拖拽

这里没有人提到的关键是,实际上一个事件来注册拖动的结束,正如其他答案所解释的那样,这就是这里发生的事情。该事件称为 dragend,因此您可以简单地执行

$("a").on("dragend",function(){
console.log("Drag End");
});

注册拖动的结束。这样做的缺点是您仍然会看到拖动界面(换句话说:浏览器将显示一些 UI 以通知用户他正在拖动)。

注册鼠标松开

2020 年的注意事项:这不是一个好的答案,但我对 jQuery 不再熟悉,因此无法很好地更新它。我猜 dragstart 上的 event.preventDefault() 可能相关也可能不相关。

但是也有一种方法可以注册鼠标抬起,只需在 click 中通过 returning false 取消拖动行为事件监听器,然后在 document 上注册 mouseup

$("a").mousedown(function(){
console.log("Mouse Down");
return false;
});

$(document).mouseup(function(){
console.log("Mouse Up");
});

我觉得我必须做的唯一评论是,在独立的 jsfiddle 中,它工作得很好,在我自己的代码中它没有,所以我正在听 mouseupdragend 只是为了确定。

关于javascript - 拖动时的 mouseUp 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6019190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com