1

我在这里下载了最新版本的 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) 部分。热键插件是否设计为仅接受带有按键事件的字符?如果是这样,文档没有这样说。

4

1 回答 1

0

代码=== 'keypress'不再是 master - 如果你重新测试它仍然是一个问题给我一个 Fiddle,我会看看。

于 2014-02-13T12:36:24.883 回答