Javascript Keydown事件被触发两次

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

我正在处理文档上的keydown事件,以便在按下undo时我可以ctrl + z

这就是我将它与我的文档绑定的方式:

componentWillMount() {
  window.addEventListener('keydown', throttle(this.handleKeyDown, 300));
}

handleKeyDown(e) {
  if (e.ctrlKey && e.which === KEY_Z) {
    console.log('Undo');
  }
}

但是无论何时按下按键,事件都会被触发两次,这意味着它一次撤消两个状态。正如你所看到的,我也尝试使用lodash来限制事件,但没有任何效果。

javascript reactjs
1个回答
0
投票

您不会为键组合获得一个事件,而是为每个按下的键触发一个事件。在按下z键之前,ctrl键将自动触发事件。

© www.soinside.com 2019 - 2024. All rights reserved.