Почему не обнаружено обратное пространство с использованием события jquery keypress?Почему не обнаружено обратное пространство, используя событие jquery keypress?
$("#field").keypress(function(event){alert(event.which);});
Почему не обнаружено обратное пространство с использованием события jquery keypress?Почему не обнаружено обратное пространство, используя событие jquery keypress?
$("#field").keypress(function(event){alert(event.which);});
«нажатие клавиши» событие (в его первоначальном виде IE, а в Safari/Chrome) о фактическом характере добавляется в текстовое поле. Клавиша backspace явно не добавляет новый символ к значению поля, поэтому он не вызывает события нажатия клавиши.
Firefox и Opera немного более волей-неволей о создании событий ввода.
PPK (quirksmode) considers the IE and Webkit behaviors to be the sensible ones, и я в значительной степени согласен.
Это может быть разумно, но это уменьшает полезность события IMO. Возможно, это просто привычка, но я часто использую keypress (на других языках, где событие срабатывает, если нажатая клавиша имеет значение ASCII), ловушка BS-ключа делает такие вещи, как отключить кнопки, когда пользователь возвращает весь текст из поля ввода , – BobRodes
Попробуйте использовать keydown
и keyup
вместо IE.
точно см. Это http://jsfiddle.net/EZqMA/ –
Это действительно классный сайт, Эрик. Сегодня я чему-то научился. – mdarwi
@ Eric IMO лучше использовать событие 'keyup', как оно происходит после отпускания ключа, и' .value' вернет новое значение. –
OnKeyUp только будет делать все ключевые обнаружения клавиатуры в хроме ..
Это отлично работает для меня в FF, но не в IE (8). Какой браузер вы используете? –