Неизвестные события запускаются, когда я использую обработчик событий Onkeyup javascript - PullRequest
2 голосов
/ 21 декабря 2011

У меня есть веб-страница, где я использую текстовое поле для получения имени пользователя. Я использую обработчик onKeyUp в нем для проверки ввода для любых недопустимых символов, а также для проверки, нажимает ли пользователь клавишу enter . Текстовое поле не внутри формы.

Ввод выглядит так:

<input type='text' id='userNameBox' onKeyUp='user.checkUserName(event);' />

Здесь user - это объект, созданный из класса JavaScript с именем User.

На веб-странице, когда я щелкаю внутри текстового поля и вводю какой-либо текст, происходит проверка.

Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть console.log в методе checkUserName. Это:

console.log('key pressed='+event.which);

Когда фокус находится в текстовом поле, периодически запускаются некоторые неизвестные события. Я продолжаю получать сообщение key pressed=252, хотя я не нажимаю никаких клавиш. Что такое код клавиши 252 и почему он срабатывает сам по себе? Я пытался найти то же самое, но не смог получить должного результата.

Я использую библиотеку прототипов в своем приложении.

1 Ответ

0 голосов
/ 15 августа 2012

Вот полный список ключевых кодов, обратите внимание, что он отличается в зависимости от браузера. http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/Note-KeyProps.html

Я бы порекомендовал не использовать event.which и использовать event.keyCode в качестве поддержки event.which в Internet Explorer сомнительно.

...