Дата и время публикации:
Назначение и классификация
1. Что это такое
В статье "Как использовать атрибуты событий в Javascript, речь шла о механике возникновения событий, путях распространения, обработки и реакции на них в документе HTML5, называемой часто страницей "WEB". При этом в ней функциональное назначение и само определение АГС не было раскрыто.
Итак, согласно рекомендациям W3С к атрибутам глобальных событий, относятся "встраиваемые" атрибуты, применяемые во всех элементах и форм документа <html> после воздействия пользователем над ними с использованием браузера WEB и/или технических устройств с целью ввода/вывода информации. Поэтому АГС имеют определенную классификацию по элементам <html> и совместного использования их вместе с устройствами ввода-вывода информации.
2. Классификация или игра в классики
Помните дескую игру в классики, где задача последовательно перемещать плоскую баночку от ваксы или крема строго по клеткам не пропуская ни одной. У большинства это не всегда получалось, так и с АГС любая попытка четко что-либо описать обречена на провал, так как W3С только рекомендует, а не предписывает.
3 Классификация по элементам документа HTML
3.1 Элемент <body>
Один из основных образующих элементов документа HTML, наделенный возможностью отзываться на порожденные пользователем события с использованием АГС, которые действуют, когда объект <Window> формирует одноименные события без префикса "on" с последующим вызовом обработчика событий функции JS, назначенного с помощью одного из атрибутов, перечисленных в таблице 3.1.1
Aтрибут | Пользователь | Примечание |
---|---|---|
onafterprint | передал документ HTML на печать | [1] |
onbeforeprint | передает документ HTML на печать | [2] |
onbeforeunload | закрывает документ HTML | [3] |
onhashchange | произвел изменение URL | [4] |
onlanguagechange | изменил язык документа HTML в браузере | [5] |
onmessage | получил от сервера сообщение об изменении страницы | [6] |
onoffline | пользователь перевел работу браузера в фоновый режим(offline) | [7] |
ononline | пользователь вывел браузер из фонового режима(online) | [7] |
onpagehide | пользователь "покинул" страницу | [8] |
onpageshow | пользователь перешел на страницу | [9] |
onpopstate | добавил или изменил запись для данной страницы в браузере. | [10] |
onstorage | сохранил или удалил данные в браузере | [11] |
onunload | ушел со странице или закрыл браузер | [8] для события "pagehide" |
В таблице 3.1.2 приводятся два сигнала объекта <Window> порождаемые объектом <Promise> для информирования браузера о результате выполнения асинхронных операций.
Aтрибут | объект <Window> испускает событие | Примечание |
---|---|---|
onrejectionhandled | при возникновении отказа после очередной итерации цикла формирования событий. При условии, что ранее ему был определен обработчик. | |
onunhandledrejection | когда нет в данный момент ни одного из доступных обработчиков ожидаемого отказа в основном цикле формирования событий. |
3.2 Элементы HTML
Здесь перечисляются ГАС, которые используются во всех элементах документа HTML, включая элемент <body>.
3.2.1 Элемент <form>
В таблице 3.2.1 приводится распределение атрибутов событий для элемента <form> и ему подчиненых элементов таких как <input>, <button>, <TextArea>и<select>. Последний используется совместно с комбинацией элементов <optgroup> и <option>.
Aтрибут | Элемент(ы) HTML | Пользователь выполнил | Примечание |
---|---|---|---|
onsubmit | <form> | выполнил отправку данных формы | |
onreset | осуществил сброс введенных данных формы | ||
onfocus | <input> | произвел выбор элемента | [1] |
<button> | |||
<TextArea> | |||
<select>, <optgroup> и <option> | |||
onblur | <input> | перешел на другой элемент | [1] |
<button> | |||
<TextArea> | |||
<select>, <optgroup> и <option> | |||
onselect | <input> | произвел выделение текста или выбрал новый элемент в раскрывающемся списке, а также в списке с одним или множественным выбором | |
<button> | |||
<TextArea> | |||
onchange | <input> | изменил данные элемента формы | |
<button> | |||
<TextArea> | |||
<select>, <optgroup> и <option> | |||
oninput | <input> | произвел ввод данных; событие oninput выполняется быстрее чем onchange, т.к последний ждет снятие фокуса с элемента. | |
<TextArea> | |||
<keygen> | |||
<select> | |||
oninvalid | <input> | произвел отправку данных в одном или нескольких полей формы не соответствующих своим условиям. | [2] |
<TextArea> | |||
<select>, <optgroup> и <option> | |||
onsearch | <input> | ввел данные в поле поиска формы | [3] |
4. Библиография
1) HTML 5.1. W3C Recommendation, 1 November 2016
4) HTML: The Markup Language (an HTML language reference), 8.Global attributes
6) MDN.GlobalEventHandlers.oninput
7) Справочник по CSS. Псевдокласс required
10) Управление историей браузера