Свойство charCode события keydown не должно использоваться. Значение не имеет смысла - PullRequest
0 голосов
/ 09 марта 2011

Какой прямой синтаксис JavaScript заменит событие keydown в jQuery?Линт жалуется так сильно, что трудно читать мою консоль Firebug.

Поскольку я разрабатываю только концептуальное подтверждение для себя, я не беспокоюсь о кросс-браузерных проблемах - нужно толькоработа в Firefox на данный момент.

Ответы [ 4 ]

2 голосов
/ 10 марта 2011

Во-первых, другие хорошо объяснили корни вашей проблемы.

Но для записи, отвечая на ваш оригинальный вопрос, вам нужно: addEventListener . Это ненавязчивый, красивый и современный способ прикрепления событий в Javascript. Работает в любом современном браузере (не в IE9, для этих IE вам нужно attachEvent ).

Так, например, используя addEventListener, вы назначаете события как:

var elem = document.getElementById("fos");
elem.addEventListener("keydown", whateverFunction, false);

Вы также можете использовать простой способ (elem.onkeydown=whateverFunction;), но я не рекомендую вам это делать. С помощью addEventListener вы можете назначить несколько обработчиков одному и тому же событию и не можете случайно перезаписать другое событие, назначенное вами или сценарием библиотеки / стороннего разработчика.

2 голосов
/ 09 марта 2011

Согласно DOM level2 Events :

Спецификация события DOM уровня 2 не предоставляет модуль ключевых событий. Модуль событий, предназначенный для использования с устройства ввода с клавиатуры будут включены в более позднюю версию DOM спецификация.

Так что нет никаких стандартов, касающихся ключевых событий. В настоящее время все браузеры делают так, как считают нужным. Если вы используете JS-фреймворк, он должен давать непротиворечивое значение во всех браузерах (в конце концов, это было бы основным моментом фреймворка).

2 голосов
/ 09 марта 2011

Это потому, что charCode действительно бессмыслен в событии keydown. Измените событие keydown на событие нажатия клавиши, если вам нужно знать charCode.

0 голосов
/ 10 марта 2011

Изменить

$(document).keydown(function(myEvent) {

на

document.onkeydown=function(myEvent){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...