我正在处理文档上的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
来限制事件,但没有任何效果。
您不会为键组合获得一个事件,而是为每个按下的键触发一个事件。在按下z键之前,ctrl键将自动触发事件。