Javascript 如何在reactjs应用程序中检测双移位按键事件?
尽管遵循stackoverflow线程,但我无法在我的reactjs应用程序中有效地检测到双移位按键事件 我补充说,Javascript 如何在reactjs应用程序中检测双移位按键事件?,javascript,reactjs,Javascript,Reactjs,尽管遵循stackoverflow线程,但我无法在我的reactjs应用程序中有效地检测到双移位按键事件 我补充说, componentDidMount() { document.addEventListener('keydown', this.handleKeyPress); } componentWillUnmount(){ document.removeEventListener("keydown", this.handleKeyPress); } handleKeyP
componentDidMount() {
document.addEventListener('keydown', this.handleKeyPress);
}
componentWillUnmount(){
document.removeEventListener("keydown", this.handleKeyPress);
}
handleKeyPress = (event) => {
how to detect double shift key press, more efficiently?
}
因为使用React,您在同一个元素上有事件,所以我将自己这样做: 创建3个变量: 一个用于计数器(按下换档的频率),以及 一个表示按键之间经过的时间。 注意到Shift被双击的状态变量 如果触发了关键事件(顺便说一句:我会使用keyup),那么您:
- 检查是否按下了换档键(按键代码检查)
- (如果是)将计数器变量增加到
1
- 并将
变量设置为当前时间戳已用时间
- 并将
是
,请检查当前时间戳
减去经过的时间戳
是否在您设置为注意双击的时间范围内(例如1秒)。
如果是,请将双击
变量设置为1,如果不是,请清除计数器和已用时间
变量
希望这能给你一个处理的方法。
在我在第一行发布的页面上,也有一个类似这种想法的小例子:你说的双倍是什么意思??同时按下
shift
键或按下并释放shift键两次??