Skip to content

Latest commit

 

History

History
49 lines (30 loc) · 6.43 KB

README.md

File metadata and controls

49 lines (30 loc) · 6.43 KB

30% События

Прежде чем приступить к прочтению данной главы, стоит определиться, что же из себя представляют события web-страницы. Так вот, события – это любые действия пользователя, будь то ввод данных с клавиатуры, проматывание страницы или передвижения мышки, и, конечно же, «клики».

А ещё существуют события, создаваемые скриптами, и их обработчики – триггеры и хэндлеры, но о них чуть позже.

jQuery работает практически со всеми событиями в JavaScript, приведу список самых востребованных с небольшими пояснениями:

событиеописание
clickклик по элементу;
порядок событий: mousedownmouseupclick
dblclickдвойной щелчок мышки
mousedownнажатие клавиши мыши
mouseupотжатие клавиши мыши
mousemoveдвижение курсора
mouseenterнаведение курсора на элемент;
не срабатывает при переходе фокуса на дочерние элементы
mouseleaveвывод курсора из элемента;
не срабатывает при переходе фокуса на дочерние элементы
mouseoverнаведение курсора на элемент
mouseoutвывод курсора из элемента

{% embed url="https://anton.shevchuk.name/book/code/events.mouse.html" %}


Идём дальше. Вот ещё десяток событий, по большей части они относятся лишь к элементам форм:

событиеописание
focusполучение фокуса на элементе;
актуально для input[type=text], но в современных браузерах работает и с другими элементами
blurфокус ушёл с элемента;
срабатывает при клике по другому элементу на странице или по событию клавиатуры (к примеру переключение по tab'у)
focusinфокус на элементе;
данное событие аналогично focus, но при этом умеет «всплывать»
focusoutфокус ушёл с элемента;
данное событие аналогично blur, «всплывает» (подробнее про различия вы можете прочитать в статье «Фокусировка: focus/blur»)

{% hint style="info" %} Вплоть до 4-ой версии jQuery, порядок событий был следующим:

  • focusout
  • blur
  • focusin
  • focus

С jQuery версии 4.0 порядок событий будет соответствовать текущей спецификации W3C:

  • blur
  • focusout
  • focus
  • focusin

Единственным браузером, который имеет иной порядок остаётся IE, но ирония заключается в том, что IE в своё время был единственным браузером, который следовал предыдущей спецификации W3C, а все остальные браузеры использовали свой порядок событий, который вот только в 2023-м году стал стандартом ¯\_(ツ)_/¯ {% endhint %}

событиеописание
changeизменение значения элемента (значение при потере фокуса отличается от начального значения при получении фокуса)
keydownнажатие клавиши на клавиатуре
keypressудержание клавиши на клавиатуре, последовательность keydownkeypresskeyup (только для буковок-циферок)
keyupотжатие клавиши на клавиатуре
selectвыбор текста для input[type=text] и textarea
submitотправка формы

{% embed url="https://anton.shevchuk.name/book/code/events.form.html" %}


Так же стоит упомянуть ещё парочку популярных событий с которыми доводится работать:

событиеописание
resizeизменение размеров документа
scrollпрокрутка элемента или окна

{% hint style="info" %} Нет нужды запоминать все события — вы всегда найдёте их на страницах MDN от Mozilla. {% endhint %}