正如标题所说,我注意到在我的画布上“鼠标移动”在按下/释放鼠标按钮时被触发,即使我实际上没有移动鼠标。问题是,在释放按钮的情况下,它会在“mouseup”之后被触发!
这是正常行为吗? 如何修复/解决方法?我真的需要我的“鼠标”才能点亮,或者“鼠标移动”在释放按钮时根本不需要点火; setTimeout不是一个合法的解决方案。
示例:https://jsfiddle.net/h40mm4mj/1/就这么简单:如果你打开控制台并在画布上点击,你会注意到“mouseup”后记录了“mousemove”
Store
编辑:刚刚测试过,它只发生在Chromium,Windows。
答案 0 :(得分:0)
我遇到了同样的问题。解决将普通鼠标位置与新鼠标位置进行比较的问题:
function onMouseDown (e) {
mouseDown = { x: e.clientX, y: e.clientY };
console.log("click");
}
function onMouseMove (e) {
//To check that did mouse really move or not
if ( e.clientX !== mouseDown.x || e.clientY !== mouseDown.y) {
console.log("move");
}
}
从这里采取:(1)