Получение "charCode" свойство события keydown не должно использоваться. Значение бессмысленно "ошибка в jQuery - PullRequest
5 голосов
/ 14 апреля 2010

Я получаю сообщение об ошибке «Не следует использовать свойство charCode события keydown. Значение не имеет смысла» в Firefox с использованием jQuery. Мой код выглядит так:

$("div#center-box div#empid-textbox input.id").keydown(function(e){
   key = e.which;
   if(key===13){
      //do something;
   };
});

Кто-нибудь знает, как исправить эту ошибку?

Ответы [ 2 ]

4 голосов
/ 26 августа 2010

Проверьте первый комментарий на http://api.jquery.com/event.which/

Я нашел то же самое раздражающее поведение, используя jQuery 1.4.2 и Firefox 3.6.3. Для меня было исправлено удаление «charCode» из списка клонированных атрибутов в строке 1956 файла jquery-1.4.2.js - этот список содержит атрибуты, которые должны быть клонированы из исходного события в браузере в специализированный объект события jQuery, который более вменяемый Чтение атрибута «charcode» в процедуре клонирования, похоже, вызывало предупреждение в консоли ошибок. Клонирование фактического атрибута, будь то «keyCode» или «charCode», кажется, будет нормально обрабатываться, если строки 1996-1998 гг. Будут изменены на:

if (!event.which && ((originalEvent.charCode || originalEvent.charCode === 0) ? event.charCode : event.keyCode)) {
  event.which = originalEvent.charCode || event.keyCode;
}

т.е. более тонкое клонирование свойства charCode, если оно присутствует.

4 голосов
/ 14 апреля 2010

FIXED !!!

Похоже, что FF не нравится функция 'keydown' ... Я изменил ее на 'keypress', и она отлично работает.

...