我确定这里缺少简单的东西,但是我很困惑。
为什么addEventListener和removeEventListener函数在这些反应生命周期方法中不起作用,但是在它们下面的注释行起作用?
componentDidMount(){
document.addEventListener('onmousemove', this.handleMouseMove);
// document.onmousemove = this.handleMouseMove;
}
componentWillUnmount(){
document.removeEventListener('onmousemove', this.handleMouseMove);
// document.onmousemove = null;
}
handleMouseMove(){ ... }
我可以只使用document.onmousemove = ...代码即可。但是,为什么以上这些行不起作用?我觉得我在这里缺少基本的东西。
任何帮助表示赞赏:)
最佳答案
事件名称是mousemove
,而不是onmousemove
。onmousemove
是事件处理程序属性。
因此,正确的代码是:
document.addEventListener('mousemove', ...);
// OR
document.onmousemove = ...;