在反应生命周期方法中:doc.addEventListener('onmousemove',...不工作,但doc.onmousemove = ...是。为什么?

问题描述 投票:1回答:1

我很遗憾这里有一些简单的东西我很确定,但我很难过。

为什么addEventListener和removeEventListener函数在这些反应生命周期方法中不起作用,但它们下面的注释掉的行呢?

  componentDidMount(){
    document.addEventListener('onmousemove', this.handleMouseMove);
    // document.onmousemove = this.handleMouseMove;
  }

  componentWillUnmount(){
    document.removeEventListener('onmousemove', this.handleMouseMove);
    // document.onmousemove = null;
  }

  handleMouseMove(){ ... }

我可以使用document.onmousemove = ...代码,它的工作原理。但为什么上述线路不起作用?我觉得我在这里缺少一些基本的东西。

任何帮助非常感谢:)

javascript reactjs lifecycle
1个回答
2
投票

事件名称是mousemove,而不是onmousemove

onmousemove是一个事件处理程序属性。

所以,正确的代码是:

document.addEventListener('mousemove', ...);
// OR
document.onmousemove = ...;
© www.soinside.com 2019 - 2024. All rights reserved.