Javascript Keydown事件被触发两次

时间:2018-09-06 05:43:44

标签: javascript reactjs

我正在处理文档上的按键事件,以便可以在按下undoctrl + z

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

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

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

但是,每当按下按键时,事件都会被触发两次,这意味着它将一次取消两个状态。如您所见,我也尝试使用lodash限制事件,但是没有效果。

1 个答案:

答案 0 :(得分:0)

您不会获得一个按键组合事件,而是会为每个按下的按键触发一个事件。按下Ctrl键之前,按住Ctrl键将自行触发事件。