У меня есть недавно созданная таблица, и я хочу связать событие key-press с td
Я написал следующий код и не работает
$("body").on("keypress",".control table tr td",function(e){
alert(9);
});
и я заменил keypress нажатием, тогда он работает
$("body").on("click",".control table tr td",function(e){
alert(9);
});
На самом деле, как написано в W3C, событие onkeypress может возникать на каждом элементе HTML, но не <base>
, <bdo>
, <br>
, <head>
, <html>
, <iframe>
, <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>
За этот ответ вам может потребоваться установить элемент родительского contentEditable="false"
(не уверены в структуре вашего документа, но, возможно, tr
?). Вы также можете попробовать явно установить элемент contentEditable
для элемента td
.
keypress
наtd
? И ты не задавал вопросов.keypress
на тд ????