鼠标事件"mousemove"在按下和释放鼠标按钮时触发
Mouse event "mousemove" gets fired when pressing and releasing mouse buttons
正如标题所说,我注意到在我的画布上,当鼠标按钮按下/释放时,即使我没有实际移动鼠标,mousemove
也会被触发。问题是,在释放按钮的情况下,它在mouseup
之后被触发!
这是正常行为吗?
如何修复/解决?我真的需要我的mouseup
最后开火,或者mousemove
在释放按钮时根本不开火;setTimeout
不是合法的解决方案。
示例:https://jsfiddle.net/h40mm4mj/1/就这么简单:如果您打开控制台并在画布中单击,您将注意到mousemove
在mouseup
canvas.addEventListener("mousemove", function (e) {
console.log("mousemove");
}, false);
canvas.addEventListener("mouseup", function (e) {
console.log("mouseup");
}, false);
编辑:刚刚测试,它只发生在铬,Windows。
我也有同样的问题。解决比较以前的鼠标位置和新的鼠标位置:
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");
}
}
摘自这里:如果"mousemove"answers";click"事件同时触发?
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 当鼠标悬停在文本中的单词上时显示警报
- JsFiddle上的鼠标事件不起作用
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- 将鼠标旋转限制为特定的度数
- 如何将鼠标悬停在<img src=“">标签
- "禁用“;(灰色文本,没有鼠标/键盘)jQueryUI小部件和容器中的常规HTML
- 鼠标事件监听器&“this"
- "悬停”;在jQuery插件函数中不起作用,鼠标悬停并单击即可