Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.12.2013, 10:54
Кандидат Javascript-наук
Отправить личное сообщение для hrundel Посмотреть профиль Найти все сообщения от hrundel
 
Регистрация: 01.08.2009
Сообщений: 102

Событие на теге 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
Ответить с цитированием
  #2 (permalink)  
Старый 15.12.2013, 13:29
Интересующийся
Отправить личное сообщение для DeD_Mazai Посмотреть профиль Найти все сообщения от DeD_Mazai
 
Регистрация: 25.08.2013
Сообщений: 20

У меня всё работает как часы. Вы уверены в правильности работы остального кода скрипта?
Ответить с цитированием
  #3 (permalink)  
Старый 15.12.2013, 13:54
Кандидат Javascript-наук
Отправить личное сообщение для hrundel Посмотреть профиль Найти все сообщения от hrundel
 
Регистрация: 01.08.2009
Сообщений: 102

Вы ошибаетесь. Попробуйте в разных браузерах. Попробуйте также фокус клавишей Tab поменять.
Ответить с цитированием
  #4 (permalink)  
Старый 15.12.2013, 14:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

hrundel, ну да, в фф срабатывает и keydown и blur. И почему тебя это беспокоит? В нормальной реализации все равно нужно использовать таймауты. Можешь еще вместо blur использовать change. Или вобще не использовать ни blur ни change. А зачем? Только лучше вместо keydown (это же не единственный способ изменить содержимое поля) использовать input (propertychange в IE8)
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
событие, которое срабатывает при изменении DOM структуры amigo* Events/DOM/Window 30 11.04.2017 13:39
Событие при вставке ссылки в input Flake Общие вопросы Javascript 1 21.08.2010 12:19
live click выполняется несколько раз hara jQuery 9 09.06.2010 10:58
Как заставить событие сработать один раз GRean Javascript под браузер 4 07.06.2010 00:29
Почему событие срабатывает один раз? igsavenko jQuery 6 03.03.2010 09:26