【问题标题】:How to bind keyboard events to div elements?如何将键盘事件绑定到 div 元素?
【发布时间】:2012-05-23 23:05:48
【问题描述】:

有没有办法监听 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处理吗?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

您可以在 div 中添加一个 tabindex 来捕获这样的键盘事件

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

喜欢answered在这里。

Working Fiddle

Reference

【讨论】:

  • 哦,maen,你拯救了我的一天!我正在寻找几天的解决方案。非常感谢!
【解决方案2】:

添加一个tabindex,它应该可以工作

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

DEMO

【讨论】:

    【解决方案3】:

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

    看这个小提琴:

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 2021-10-09
        • 1970-01-01
        • 2010-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-09
        相关资源
        最近更新 更多