Javascript 为什么我的;“鼠标移动”;事件侦听器仅使用匿名函数连续触发?

Javascript 为什么我的;“鼠标移动”;事件侦听器仅使用匿名函数连续触发?,javascript,dom-events,event-listener,Javascript,Dom Events,Event Listener,以下是我的代码片段: frame_box.addEventListener("mousedown", function(event){ setOrigin(event); document.addEventListener("mousemove", function(event){mousemove_handler(event),false); }, true) 它按照我希望的方式工作,但是因为我想稍后删除侦听器,所以我不能使用匿名函数(对吗?)。但是当我简单地删除匿名函数w

以下是我的代码片段:

frame_box.addEventListener("mousedown", function(event){ 
    setOrigin(event);
    document.addEventListener("mousemove", function(event){mousemove_handler(event),false); }, true)
它按照我希望的方式工作,但是因为我想稍后删除侦听器,所以我不能使用匿名函数(对吗?)。但是当我简单地删除匿名函数wrap时…:

document.addEventListener("mousemove", mousemove_handler(event),false);
…鼠标移动事件不是每隔几毫秒触发一次,而是仅触发一次

我非常感谢任何帮助或建议。 谢谢

如果你打字

 document.addEventListener("mousemove", mousemove_handler(), false);

调用函数并绑定返回

每当单击frame\u框时,代码将不断添加mousemove侦听器,这意味着mousemove\u处理程序将执行多次。此外,您可以将全局变量设置为true/false,而不是删除侦听器。在监听器内部,您检查变量,如果监听器应该被停用,只需
返回false
。下面是示例代码:感谢Chris提供的“解决方法”和示例代码,我将这样做。非常感谢。
 document.addEventListener("mousemove", mousemove_handler(), false);