我正在以“mousedown”->“mousemove”->“mouseup”的形式处理一个简单的鼠标事件侦听器序列。我想做的是为它添加两个事件侦听器 mousemove
及 mouseup
当 mousedown
事件火灾。
我的代码如下所示:
document.addEventListener("mousedown",stagesContainerGrabMouseDownHandler)
function stagesContainerGrabMouseDownHandler(ev){
document.addEventListener("mousemove",stagesContainerGrabMouseMoveHandler);
document.addEventListener("mouseup",stagesContainerGrabMouseUpHandler)
}
function stagesContainerGrabMouseMoveHandler(ev){
console.log(12)
}
function stagesContainerGrabMouseUpHandler(ev){
document.removeEventListener("mousemove",stagesContainerGrabMouseMoveHandler);
document.removeEventListener("mouseup",stagesContainerGrabMouseUpHandler);
}
问题是,当我按住鼠标时,即使我的鼠标静止不动,mousemove事件也会持续触发。我用的是铬。
2条答案
按热度按时间83qze16e1#
看来问题一定来自其他地方——可能是其他代码或您正在使用的鼠标。
我测试了您在devtools控制台中包含的代码(在edge和chrome中),当我按住鼠标并保持静止时,事件不会触发。
jucafojl2#
所以我找到了罪犯。我甚至没想到去看那里。我在后台用autohotkey运行脚本,出于某种原因,它似乎与我的页面交互。关掉它解决了这个问题。