Неизвестни събития се задействат, когато използвам манипулатор на събития Onkeyup на Javascript

Имам уеб страница, където използвам текстово поле, за да получа собственото име на потребителя. Използвам манипулатор 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 и защо се задейства сам? Опитах се да потърся същото, но не можах да получа правилни резултати.

Използвам Prototype Library в моето приложение.


person Sharath    schedule 21.12.2011    source източник
comment
Можете ли да публикувате JSFiddle за това?   -  person Josh Smith    schedule 27.12.2011


Отговори (1)


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

Бих препоръчал да не използвате event.which и да използвате event.keyCode като поддръжка за event.which в Internet Explorer е под въпрос.

person John Moses    schedule 14.08.2012