这是我的代码:
Mousetrap.bind('l', (e) => {
console.log('l')
})
Mousetrap.bind('k+l', (e) => {
console.log('k+l')
})
我有两个问题:
1.当我按下时l
,我看到了两个日志。任何想法为什么?
2.当我按下k + l
时,我也看到了两个日志(我明白为什么)但是有什么办法可以防止这种情况发生吗?
谢谢
这是我的代码:
Mousetrap.bind('l', (e) => {
console.log('l')
})
Mousetrap.bind('k+l', (e) => {
console.log('k+l')
})
我有两个问题:
1.当我按下时l
,我看到了两个日志。任何想法为什么?
2.当我按下k + l
时,我也看到了两个日志(我明白为什么)但是有什么办法可以防止这种情况发生吗?
谢谢
那是因为k
不是有效的修饰键。
如文档中所述:
对于修饰键,您可以使用 shift、ctrl、alt 或 meta。
换句话说,k+l
被归一化为l
,即你绑定l
了两次。
更多细节可以直接查看捕鼠器源码中的相关逻辑部分。