2012-05-23 5 views
14

Есть ли способ прослушать события клавиатуры на элементе DIV?Как связать события клавиатуры с элементами 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?

+0

Возможный дубликат http://stackoverflow.com/questions/148361/how-can-i-give-keyboard-focus-to-a-div-and -attach-keyboard-event-handlers-to-it/148444 # 148444, как упоминалось в одном из ответов. –

ответ

28

Вы можете добавить tabindex в этом div ловить события клавиатуры, как этот

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

Как answered здесь.

Working Fiddle

Reference

+2

Perfect! спасибо – skafandri

+1

+1 для ссылки ссылки –

+1

О, господин, ты спас мой день! Я искал несколько дней для решения. Большое спасибо! –

3

Добавить tabindex и он должен работать

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

DEMO

0

Почему бы не поместить вход внутри DIV, а затем просто найти $ ('# вход ') .closest (' div ')?

В противном случае, если ваш пример представляет собой образец того, как ваши входы относятся к вашим div, тогда просто $ ('# input'). Prev()?

Смежные вопросы