【问题标题】:Latest version of jQuery hotkeys plugin doesn't accept characters unless using keypress最新版本的 jQuery 热键插件不接受字符,除非使用按键
【发布时间】:2025-11-28 15:25:01
【问题描述】:

我下载了最新版的jQu​​ery插件here。我注意到如果我使用 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) 部分。热键插件是否设计为仅接受带有按键事件的字符?如果是这样,文档没有这么说。

【问题讨论】:

    标签: jquery jquery-hotkeys


    【解决方案1】:

    代码=== 'keypress' 已不在master 中-如果您重新测试仍然有问题,请给我发Fiddle,我会看看。

    【讨论】:

      最近更新 更多