Использование нескольких обработчиков событий

В качестве примера давайте напишем довольно простой код для валидации поля формы с e-mail. Если пользователь не указал свой e-mail адрес, то он увидит сообщение об ошибке. Как только он укажет его, сообщение об ошибке исчезнет.

Этот пост именно об использовании событий JQuery, поэтому ничего лишнего вы не увидите.

Поле E-mail можно (нужно!) проверять ещё и на правильность заполнения.

Итак, после того, как снимается фокус с поля input #email, будет выполняться функция проверки.

$('#email').blur(function(){
	if($(this).val() == ''){
	// если поле не заполнено, вывод сообщения об ошибке
		} else {
	// скрываем сообщение об ошибке (если оно отображено)
		}
	});

Но что делать, если мы хотим также проверять значение поля при нажатии клавиши? Правильным ли будет добавление ещё одной такой же функции, но только привязка её к событию keyup?

$('#email').keyup(function(){
	// функция проверки
	});

Нет конечно :) Ведь можно объединить несколько обработчиков событий в один при помощи bind.

$('#email').bind('blur keyup', function(){
	if($(this).val() == ''){
	// если поле не заполнено, вывод сообщения об ошибке
		} else {
	// скрываем сообщение об ошибке (если оно отображено)
		}
	});

Событий может быть сколько угодно, главное перечисляйте их обработчики через пробел.

Подпишитесь, чтобы раз в неделю получать свежие статьи с блога по email.

Смотрите также

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...