我在这里下载了最新版本的 jQuery 插件。我注意到如果我使用 keydown 绑定它并传入带有“ctrl+u”之类的字符的东西,它就不起作用。我发现这段代码似乎在阻止它。
character = event.type === "keypress" && String.fromCharCode( event.which ).toLowerCase(),
即这一段
event.type === "keypress"
这可以防止字符为真,然后将 modif 和字符进一步向下绑定。
if ( character ) {
possible[ modif + character ] = true;
possible[ modif + jQuery.hotkeys.shiftNums[ character ] ] = true;
// "$" can be triggered as "Shift+4" or "Shift+$" or just "$"
if ( modif === "shift+" ) {
possible[ jQuery.hotkeys.shiftNums[ character ] ] = true;
}
}
我见过人们在他们的网站上使用这个插件,他们没有 event.type === "keypress" 的部分,也没有 if (character) 部分。热键插件是否设计为仅接受带有按键事件的字符?如果是这样,文档没有这样说。