jQuery Keydown事件无法在Chrome中运行

时间:2014-10-22 14:00:34

标签: jquery google-chrome keydown

我使用以下JQuery代码捕获DIV中的keydown事件:

$("#pnlPreview").keydown(pnlPreview_onKeyDown);

我想要捕获的特定keydown组合是:

  • SHIFT + INSERT
  • SHIFT + DELETE
  • CTRL + INSERT
  • CTRL + DELETE

虽然此代码在IE中运行良好,但在Chrome中无效。我在Windows 7下使用最新的Chrome浏览器(38.0.2125.104)。

有人可以告诉我如何在谷歌浏览器中捕获这些keydown组合吗?

请参阅此jsfiddle:jsfiddle.net/fx7do2cf/7。这与我项目中的内容最为相似。在IE中检测到按键事件,但在Chrome中未检测到。

2 个答案:

答案 0 :(得分:4)

真正的问题不是Chrome没有捕获keydown事件,而是在没有div上的tabIndex属性的情况下,无法在Chrome中将焦点设置为div。虽然可以在IE中将焦点设置为没有tabindex属性的div,但在Chrome中无法设置焦点。

解决这个问题的所有功劳都归功于Spokey。他在确定真正的问题和解决问题方面发挥了重要作用。

答案 1 :(得分:0)

尝试将keydown事件设置为

$(document).on("keydown",'<selector>',function(event){
  alert("You clicked " + event.keyCode);
  // code
})

在上述情况下使用

$(document).on("keydown",'#pnlPreview', pnlPreview_onKeyDown);