Почему не работает событие, которое работает в IE? - PullRequest
0 голосов
/ 10 декабря 2010

Почему не работает event.which в IE?

Это мой код, который отлично работает в FireFox и Chrome, но не в IE.

$("#inputFeild").keypress(function(event){
            alert(event.which);
    });

#inputFeild является текстовой областью.

1 Ответ

3 голосов
/ 10 декабря 2010

Событие keypress, в частности, ненадежно для кода клавиши, используйте соответствующее событие для всего, что вы делаете ... например, если вам нужно значение, используйте keyup вместо:

$("#inputFeild").keyup(function(event){
  alert(event.which);
});

Документация .keypress() отмечает некоторые из этих отличий:

Обратите внимание, что keydown и keyup предоставляют код, указывающий, какая клавиша нажата, а keypress указывает, какой символ был введен. Например, строчная буква «а» будет сообщаться как 65 на keydown и keyup, но как 97 на keypress. Прописная буква «А» сообщается как 65 по всем событиям. Из-за этого различия при захвате специальных нажатий клавиш, таких как клавиши со стрелками, .keydown() или .keyup() - лучший выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...