Событие на теге input срабатывает несколько раз
С помощью jQuery на текстовое поле <input type="text" name="myage" value="100"> навешиваю событие, чтобы оно срабатывало а) при нажатии кнопки, б) при потери фокуса. Это нужно, чтобы посылать Ajax-запрос для проверки содержимого поля на сервере.
Мой js-код: $(document).ready( function(){ $('input[name=myage]').bind('keydown blur', function(){ alert('123'); }); } ); К сожалению, событие срабатывает два раза, особенно это заметно в Firefox. То есть при потери фокуса сообщение alert() показывается два раза. Какое событие надо использовать, чтобы всё работало корректно. Пример на jsfiddle.net |
У меня всё работает как часы. Вы уверены в правильности работы остального кода скрипта?
|
Вы ошибаетесь. Попробуйте в разных браузерах. Попробуйте также фокус клавишей Tab поменять.
|
hrundel, ну да, в фф срабатывает и keydown и blur. И почему тебя это беспокоит? В нормальной реализации все равно нужно использовать таймауты. Можешь еще вместо blur использовать change. Или вобще не использовать ни blur ни change. А зачем? Только лучше вместо keydown (это же не единственный способ изменить содержимое поля) использовать input (propertychange в IE8)
|
Часовой пояс GMT +3, время: 00:44. |