如何将键盘事件绑定到div元素?

时间:2012-05-23 14:57:14

标签: javascript jquery

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

我的代码:

​<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 个答案:

答案 0 :(得分:34)

您可以在tabindex中添加div来捕捉此类键盘事件

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

在这里与answered相似。

Working Fiddle

Reference

答案 1 :(得分:4)

添加tabindex,它应该可以正常工作

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

DEMO

答案 2 :(得分:2)

你需要在div中添加一个tabindex。

看到这个小提琴:

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

答案 3 :(得分:0)

为什么不将输入放在div中,然后只需找到$('#input')。nearest('div')?

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