25

有没有办法在 DIV 元素上监听键盘事件?

我的代码:

​&lt;div id="div" style="height:50px" class="ui-widget-content"></div>
<input id="input">​​​​​​​​​​​​​​

​$('#div,#input').keyup(function(event){
    console.log(event.keyCode);
});​​​​​​

实际上,代码仅针对输入触发,我可以为 div 处理它吗?

4

4 回答 4

47

您可以添加一个tabindexdiv捕获这样的键盘事件

<div id="div" style="height:50px" class="ui-widget-content" tabindex="0"></div>

喜欢在这里回答

工作小提琴

参考

于 2012-05-23T15:00:31.087 回答
5

添加一个tabindex,它应该工作

<div id="div" style="height:50px;" class="ui-widget-content" tabindex="1"></div>

演示

于 2012-05-23T15:01:23.447 回答
2

您需要将 tabindex 添加到 div。

看到这个小提琴:

http://jsfiddle.net/w2Y4d/1/

于 2012-05-23T15:02:15.570 回答
0

为什么不将输入放在 div 中,然后简单地找到 $('#input').closest('div') ?

否则,如果您的示例是您的输入如何与您的 div 相关的模式,那么只需 $('#input').prev() ?

于 2012-05-23T15:01:28.593 回答