捕鼠器开火两次

Mousetrap firing twice

这是我的代码:

Mousetrap.bind('l', (e) => {
  console.log('l')
})

Mousetrap.bind('k+l', (e) => {
  console.log('k+l')
})

我有两个问题:

1. 当我按下 l 时,我看到了两个日志。有什么想法吗?

2. 当我按下 k + l 时,我也看到了两个日志(我明白为什么)但是有什么想法可以防止这种情况发生吗?

谢谢

那是因为 k 不是有效的修饰键

the docs所述:

For modifier keys you can use shift, ctrl, alt, or meta.

换句话说,k+l 被规范化为 l,即您绑定了 l 两次。


更多细节可以查看逻辑的相关位in the mousetrap source directly