2013-10-12 2 views
0

Я недавно создал таблицу , и я хочу связать нажатие событие тдJquery не работает нажатие

Я написал следующий код и он не работает

$("body").on("keypress",".control table tr td",function(e){ 
    alert(9); 
}); 

и я заменил нажатие клавиши с щелчком затем он работает

$("body").on("click",".control table tr td",function(e){ 
    alert(9); 
}); 
+1

Как вы можете '' keypress' на td'? И ты не задал никаких вопросов. – Kaarel

+0

Почему вы хотите «нажимать» на td ???? –

+0

Случайные объекты не могут иметь событие нажатия клавиши. Только элементы, которые могут иметь фокус, могут иметь нажатие. Вам нужно использовать '$ (" body "). Keypress'. –

ответ

0

Per this answer вам может понадобиться установить contentEditable="false" (не уверен, что ваш документ С.Т. Воспитания элемента ructure, но возможно tr?). Вы также можете попытаться установить contentEditable явно для элемента td.

0

На самом деле, как написано в W3C, OnKeyPress событие может произойти на каждый элемент HTML, но не <base>, <bdo>, <br>, <head>, <html>, , <meta>, <param>, <script>, <style> и <title>.

Вам все еще нужно иметь фокусируемый тег. Итак, чтобы сделать это с td, вы должны использовать атрибут tabindex.

На основе этих двух ссылок, вы можете сделать что-то вроде этого:

<!-- this is td that needs to be focused in order to get onkeypress event --> 
<td tabindex="1"></td> 
Смежные вопросы