evt.ctrlKey在jquery keyup事件中返回false

Bnr*_*rdo 1 javascript jquery keyevent

我目前正在开发一个Web应用程序,它要求我检测是否按下了控件.

如果按下的键是ctrl,则使用keydown事件将标志设置为true,然后使用keyup事件将该标志设置为false.evt.ctrlKey如果按下的键是控制键,我正在使用轻松返回true.

但令我惊讶的是,我可以看到evt.keyCode等于17,同时evt.ctrlKey给我一个假.

这不会发生在keydown事件中.

请看这个简单的小提琴复制.我正在使用Firefox 27.

PS:我知道我可以测试keyCode是否为17,但我想知道我是否错过了什么.

小智 6

根据w3c docs,ctrlKey事件属性如果是presse则返回true,否则返回false,因此你的代码工作正常.在keydown事件上按下ctrl - 所以它返回键码17和true,在键盘上没有按下ctrl,因此结果是17和false.