JavaScript | Типы событий
157Веб-программирование — JavaScript — Типы событий
На заре развития Всемирной паутины веб-разработчикам приходилось иметь дело лишь с небольшим количеством событий: «load», «click», «mouseover» и другими. Эти довольно старые типы событий хорошо поддерживаются всеми браузерами. По мере развития веб-платформы в нее были включены более мощные прикладные интерфейсы, а количество событий существенно увеличилось. Не существует стандарта, который определял бы полный набор событий, и количество поддерживаемых событий продолжает быстро увеличиваться. Эти новые события определяются в следующих двух источниках:
Спецификация «DOM Level 3 Events», которая после долгих лет застоя стала активно разрабатываться под эгидой консорциума W3C.
Множество новых прикладных интерфейсов в спецификации HTML5 (и в связанных с ней дополнительных спецификациях) определяют новые события, используемые, например, для управления историей посещений, механизмом drag-and-drop (перетащил и бросил), обмена сообщениями между документами и проигрывания аудио- и видеороликов.
Обратите внимание, что многие из этих новых типов событий пока еще не получили широкой поддержки и определяются стандартами, которые еще находятся на стадии проектирования. События, которые вам чаще всего придется использовать в своих веб-приложениях, обычно будут относиться к категории давно существующих и поддерживаемых всеми браузерами: это события для работы с мышью, с клавиатурой, с HTML-формами и с объектом Window. Эти события мы и рассмотрим.
События загрузки документа
Большинству веб-приложений совершенно необходимо, чтобы веб-браузер извещал их о моменте, когда закончится загрузка документа и он будет готов для выполнения операций над ним. Этой цели служит событие load в объекте Window. Событие load возбуждается только после того, как документ и все его изображения будут полностью загружены. Однако обычно сценарии можно запускать сразу после синтаксического анализа документа, до того как будут загружены изображения. Можно существенно сократить время запуска веб-приложения, если начинать выполнение сценариев по событиям, отличным от load.
Событие DOMContentLoaded возбуждается, как только документ будет загружен, разобран синтаксическим анализатором, и будут выполнены все отложенные сценарии. К этому моменту изображения и сценарии с атрибутом async могут продолжать загружаться, но сам документ уже будет готов к выполнению операций. Это событие впервые было введено в Firefox и впоследствии заимствовано всеми другими производителями браузеров, включая корпорацию Microsoft, которая добавила поддержку этого события в IE9. Несмотря на приставку DOM в имени, это событие не является частью стандарта модели событий DOM Level 3 Events, но оно стандартизовано спецификацией HTML5.
В ходе загрузки документа изменяется значение свойства document.readyState. Каждое изменение значения этого свойства в IE сопровождается событием readystatechange в объекте Document, благодаря чему в IE это событие можно использовать для определения момента появления состояния complete. Спецификация HTML5 стандартизует событие
В примере ниже определяется функция whenReady(). Функция, передаваемая функции whenReady(), вызывается (как метод объекта Document) сразу, как только документ будет готов к выполнению операций. whenReady() ожидает появления событий DOMContentLoaded и readystatechange и использует событие load только как запасной вариант, на случай если она будет задействована в старых браузерах, не поддерживающих первые два события. Функция whenReady() будет использоваться в некоторых сценариях, следующих далее:
/* Передайте функции whenReady() свою функцию, и она вызовет ее (как метод
объекта документа), как только завершится синтаксический анализ документа
и он будет готов к выполнению операций. Зарегистрированные функции
вызываются при первом же событии DOMContentLoaded, readystatechange или load.
Как только документ станет готов и б
События в Javascript
HTML события это такая «вещь», которая временами происходит с HTML элементами.
HTML событие может быть неким действием, которое делает браузер или пользователь.
При использовании на HTML странице скрипта JavaScript он может реагировать на эти события.
Вот несколько примеров HTML событий:
- HTML страница закончила загружаться
- Поле ввода было изменено
- Пользователь нажал на HTML кнопку
Часто, при возникновении HTML события необходимо что-то сделать. JavaScript позволяет при обнаружении нужного события выполнить необходимый код. Для этого у HTML элементов есть специальные атрибуты обработчики событий, в которые и можно добавить JavaScript код:
элемент событие=’код JavaScript‘>
С двойными кавычками:
<элемент событие=»код JavaScript«>
В следующем примере элементу button добавлен атрибут onclick с JavaScript кодом:
<button>
Какая сейчас дата и время?
</button>
В приведенном примере при нажатии пользователем на кнопку код JavaScript изменит содержимое элемента с id=»demo» и выведет в него текущую дату и время.
В следующем примере JavaScript код изменит содержимое самого элемента (используется команда this.innerHTML):
<button>
Какая сейчас дата и время?
</button>
Однако, очень редко можно увидеть код JavaScript, состоящий из одного выражения. Поэтому обычно в атрибут события записывают вызов JavaScript функции:
<button>
Какая сейчас дата и время?
</button>
Часто используемые HTML события
Ниже приводится список некоторых часто используемых HTML событий:
Событие | Описание |
---|---|
onchange | HTML элемент был изменен |
onclick | Пользователь кликнул мышкой на HTML элемент |
onmouseover | Пользователь навел мышку на HTML элемент |
onmouseout | Пользователь вывел мышку за пределы HTML элемента |
onkeydown | Пользователь нажал на клавишу клавиатуры |
onload | Браузер закончил загружать страницу |
Конечно, список событий гораздо длиннее. Смотрите раздел События HTML DOM и HTML атрибуты-события.
Что может делать JavaScript с событиями?
Обработчик событий можно использовать для обработки и проверки пользовательского ввода, действий пользователя и браузера:
- Выполнять действия повторяющиеся после загрузки страницы
- Выполнять действия повторяющиеся после закрытия страницы
- Действия, которые должны выполняться при нажатии пользователем на кнопку
- Проверка данных, введенных пользователем в поле формы
- И многое другое …
В JavaScript существует множество способов работать с событиями:
- HTML атрибуты-события могут напрямую выполнять код JavaScript
- HTML атрибуты-события могут вызывать функции JavaScript
- Вы можете установить собственную функцию обработки события
- Вы можете запретить отправку и обработку события
- И многое другое …
Для оживления веб-страниц широко используется язык JavaScript. В этом языке существуют специальные события, которые происходят в определенный момент времени при выполнении каких-либо действий. Обработчиков событий достаточно много, также были введены новые HTML5 обработчики событий.
Полный список обработчиков событий приводится ниже. Выполнение кода обработчика запускается, когда выполнено условие:
- onabort – прерывание воспроизведения;
- onafterprint – закончена печать;
- onautocomplete – выполнено автозаполнение формы;
- onautocompleteerror – ошибка при автозаполнении формы;
- onbeforeprint – подготовка к печати;
- onbeforeunload — документ выгружен;
- onblur – потеря фокуса;
- oncancel – отмена действия;
- oncanplay — можно начать воспроизведение указанного медиа-файла;
- oncanplaythrough — можно начать воспроизведение указанного медиа-файла без необходимости остановки для буферизации;
- onchange – изменение значения;
- onclick – клик на элементе;
- onclose – закрытие чего-либо;
- oncontextmenu – открытие контекстного меню;
- oncopy – выполнено копирование;
- oncuechange — изменение метки в элементе track;
- oncut – выполнено вырезание контента;
- ondblclick – двойной клик на элементе;
- ondrag — перетаскивание элемента;
- ondragend — перетаскивание элемента завершено;
- ondragenter — элемент перетаскивается в допустимую целевую зону;
- ondragexit – выход из режима перетаскивания;
- ondragleave — элемент оставляет допустимую цель;
- ondragover — элемент перетаскивается по допустимой целевой точке;
- ondragstart – начало операции перетаскивания;
- ondrop – перетаскиваемый элемент отпущен;
- ondurationchange — изменение длины носителя;
- onemptied
- onended – воспроизведение завершено;
- onerror – произошла ошибка;
- onfocus – установка фокуса на элементе;
- onhashchange — изменение привязки части адреса;
- oninput – начало ввода данных;
- oninvalid – элемент поврежден;
- onkeydown – нажата клавиша;
- onkeypress — нажата клавиша и затем отпущена;
- onkeyup – отпущена клавиша;
- onload – элемент загружен;
- onloadeddata – загружены данные файла;
- onloadedmetadata – загружены метаданные файла;
- onloadstart – начало загрузки элемента;
- onmessage — появление сообщения;
- onmousedown – нажата клавиша мыши;
- onmouseenter – указатель мыши наведен на элемент;
- onmouseleave – указатель мыши покинул элемент;
- onmousemove — указатель мыши перемешен над элементом;
- onmouseout — указатель мыши перемещается из элемента;
- onmouseover — указатель мыши перемещается по элементу;
- onmouseup — кнопка мыши отпускается над элементом;
- onmousewheel (onwheel) – использовано колесико мыши;
- onoffline – браузер запущен в оффлайн режиме;
- ononline – браузер запущен в онлайн режиме;
- onpagehide — пользователь переходит от страницы;
- onpageshow — пользователь переходит на страницу;
- onpaste – выполнена вставка контента;
- onpause – приостановка воспроизведения;
- onplay – начало воспроизведения;
- onplaying – воспроизведения файла;
- onpopstate — изменение истории окна;
- onprogress – получение метаданных файла;
- onratechange — изменение скорости воспроизведения;
- onreset – выполнен сброс данных;
- onresize – изменение размера элемента;
- onscroll – прокрутка содержимого элемента;
- onsearch – выполнен поиск;
- onseeked — поиск закончился;
- onseeking – поиск активен;
- onselect – выбор некоторого текста или значения;
- onshow – показ элемента;
- onsort – выполнение сортировки;
- onstalled — браузер не может получить мультимедийные данные по любой причине;
- onstorage – обновлено веб-хранилище;
- onsubmit – подтверждение отправки данных формы;
- onsuspend – остановка извлечения метаданных;
- ontimeupdate – изменение позиции (времени) воспроизведения файла, то есть перемотка файла;
- ontoggle — пользователь открывает или закрывает элемент details;
- onunload – загрузка выполнена, после чего произошло закрытие документа;
- onvolumechange – громкость изменена;
- onwaiting – ожидание восстановления воспроизведения.
Обработчики событий следует использовать правильным образом, желательно не писать их напрямую в атрибутах тегов, а устанавливать обработчики событий в подключаемых файлах с JavaScript-кодом. Если используется библиотека jQuery, то название обработчиков необходимо писать без префикса on. Таким образом, были рассмотрены все обработчики событий JavaScript, приведен полный список событий с описанием.
JavaScript | Обработка событий
182Веб-программирование — JavaScript — Обработка событий
Клиентские программы на языке JavaScript основаны на модели программирования, когда выполнение программы управляется событиями. При таком стиле программирования веб-браузер генерирует событие, когда с документом или некоторым его элементом что-то происходит. Например, веб-браузер генерирует событие, когда завершает загрузку документа, когда пользователь наводит указатель мыши на гиперссылку или нажимает клавишу на клавиатуре.
Если JavaScript-приложение интересует определенный тип события для определенного элемента документа, оно может зарегистрировать одну или более функций, которая будет вызываться при возникновении этого события. Имейте в виду, что это не является уникальной особенностью веб-программирования: все приложения с графическим интерфейсом пользователя действуют именно таким образом — они постоянно ожидают, пока что-то произойдет (т.е. ждут появления событий), и откликаются на происходящее.
Тип события — это строка, определяющая тип действия, вызвавшего событие. Тип «mousemove», например, означает, что пользователь переместил указатель мыши. Тип «keydown» означает, что была нажата клавиша на клавиатуре. А тип «load» означает, что завершилась загрузка документа (или какого-то другого ресурса) из сети. Поскольку тип события — это просто строка, его иногда называют именем события.
Цель события — это объект, в котором возникло событие или с которым это событие связано. Когда говорят о событии, обычно упоминают тип и цель события. Например, событие «load» объекта Window или событие «click» элемента <button>. Самыми типичными целями событий в клиентских приложениях на языке JavaScript являются объекты Window, Document и Element, но некоторые типы событий могут происходить и в других типах объектов.
Обработчик события — это функция, которая обрабатывает, или откликается на событие. Приложения должны зарегистрировать свои функции обработчиков событий в веб-браузере, указав тип события и цель. Когда в указанном целевом объекте возникнет событие указанного типа, браузер вызовет обработчик. Когда обработчики событий вызываются для какого-то объекта, мы иногда говорим, что браузер «возбудил» или «сгенерировал» событие.
Объект события — это объект, связанный с определенным событием и содержащий информацию об этом событии. Объекты событий передаются функции обработчика события в виде аргумента (кроме IE8 и более ранних версий, где объект события доступен только в виде глобальной переменной event). Все объекты событий имеют свойство type, определяющее тип события, и свойство target, определяющее цель события.
Для каждого типа события в связанном объекте события определяется набор свойств. Например, объект, связанный с событиями от мыши, включает координаты указателя мыши, а объект, связанный с событиями от клавиатуры, содержит информацию о нажатой клавише и о нажатых клавишах-модификаторах. Для многих типов событий определяются только стандартные свойства, такие как type и target, и не передается никакой дополнительной полезной информации. Для таких типов событий важно само наличие происшествия события, и никакая другая информация не имеет значения.
Распространение события — это процесс, в ходе которого браузер решает, в каких объектах следует вызвать обработчики событий. В случае событий, предназначенных для единственного объекта (таких как событие «load» объекта Window), надобность в их распространении отсутствует. Однако, когда некоторое событие возникает в элементе документа, оно распространяется, или «всплывает», вверх по дереву документа.
Если пользователь щелкнет мышью на гиперссылке, событие «mousemove» сначала будет возбуждено в элементе <a>, определяющем эту ссылку. Затем оно будет доставлено вмещающим элементам: возможно, элементу <p>, элементу <div> и самому объекту Document. Иногда удобнее бывает зарегистрировать единственный обработчик события в объекте Document или в другом контейнерном элементе, чем выполнять регистрацию во всех интересующих нас элементах.
Дав определения некоторым терминам, м
JavaScript События
События HTML — «действие», которые происходят с элементами HTML.
При использовании JavaScript на страницах HTML «взаимодействует» на события.
События HTML
Событие HTML может быть чем-то, что делает браузер или чем-то, что делает пользователь.
Вот несколько примеров событий HTML:
- Закончилась загрузка страницы HTML
- Изменено поле ввода HTML
- Была нажата кнопка HTML
Часто, когда события происходят, вы возможно захотите что-то сделать.
Язык JavaScript позволяет выполнять код при обнаружении события.
HTML разрешает атрибуты обработчика событий, в коде JavaScript, добавляется в элемент HTML.
С одиночными кавычками:
<элемент событие=’некоторые JavaScript‘>
С двойными кавычками:
<элемент событие=»некоторые JavaScript«>
В следующем примере атрибут onclick
(с кодом), добавляется в элемент button
:
В приведенном выше примере код JavaScript изменяет содержимое элемента с помощью id="demo"
.
В следующем примере код изменяет содержимое собственного элемента с помощью this.innerHTML
:
Код JavaScript часто имеет наеменьшее количество строк. Это более распространенный вид вызова функций атрибутов событий:
Общие события HTML
Ниже приведен список некоторых распространенных событий HTML:
Событие | Описание |
---|---|
onchange | Элемент HTML был изменен |
onclick | Пользователь щелкает элемент HTML |
onmouseover | Пользователь наводит курсор мыши на элемент HTML |
onmouseout | Пользователь перемещает указатель мыши от элемента HTML |
onkeydown | Пользователь нажимает клавишу клавиатуры |
onload | Браузер закончил загрузку страницы |
Намного больше узнаете на странице: SchoolsW3 JavaScript для обозначения событий DOM в HTML.
Что может сделать JavaScript?
Обработчики событий могут использоваться для обработки и проверки вводимых пользователем данных, действий пользователя и действий браузера:
- Действие, которые должны выполняться каждый раз при загрузке страницы
- Действие, которые должны быть сделаны при закрытии страницы
- Действие, которое должно выполняться при нажатии пользователем кнопки
- Содержимое, которое должно проверяться при вводе пользователем данных
- И многое другое …
Многие различные методы могут использоваться, чтобы позволить JavaScript для работы с событиями:
- Атрибуты событий HTML могут выполнять код JavaScript напрямую
- Атрибуты событий HTML могут вызывать функции JavaScript
- Можно назначить собственные функции обработчика событий элементам HTML
- Можно предотвратить события отправлять или обрабатывать
- И многое другое …
Вы узнаете намного больше о события и обработчики событий в HTML-главы дом.
JavaScript События
HTML DOM позволяет JavaScript реагировать на события HTML:
Мышь надо мной
Нажмите
Реагирование на события
JavaScript может быть выполнен, когда происходит событие, например, когда пользователь нажимает на элемент HTML.
Чтобы выполнить код, когда пользователь нажимает на элемент, добавьте код JavaScript в атрибут события HTML:
Примеры событий HTML:
- Когда пользователь щелкает мышкой
- Когда загружается веб страница
- Когда изображение было загружено
- Когда мышь перемещается по элементу
- При изменении поля ввода
- При отправке HTML формы
- Когда пользователь нажимает клавишу
В этом примере содержимое элемента <h2>
изменяется, когда пользователь нажимает на него:
В этом примере функция вызывается из обработчика событий:
Пример
<h2>Нажмите на этот текст!</h2>
<script>
function changeText(id) {
id.innerHTML = «Ооопс!»;
}
</script>
</body>
</html>
Атрибуты событий HTML
Чтобы назначать события для элементов HTML, вы можете использовать атрибуты событий.
Пример
Назначить событие onclick элементу button:
<button>Попробовать</button>
Попробуйте сами »В приведенном выше примере функция с именем displayDate
, будет выполняться при нажатии на кнопку.
Назначение событий с помощью HTML DOM
HTML DOM позволяет назначать события элементам HTML с помощью JavaScript:
Пример
Назначить событие onclick элементу button:
<script>
document.getElementById(«myBtn»).onclick = displayDate;
</script>
В приведенном выше примере функция с именем displayDate
,
назначается элементу HTML с id="myBtn"
.
Функция будет выполнена при нажатии на кнопку.
События onload и onunload
События onload
и onunload
запускаются,
когда пользователь входит на страницу или покидает ее.
Событие onload можно использовать для проверки типа браузера посетителя и версии браузера, а также загрузки соответствующей версии веб страницы на основе полученной информации.
События onload
и onunload
можно использовать для работы с файлами cookie.
Событие onchange
Событие onchange
, часто используется в сочетании с проверкой полей ввода.
Ниже приведен пример, как использовать onchange
.
Функция upperCase()
вызывается, когда пользователь изменяет содержимое поля ввода.
События onmouseover и onmouseout
События onmouseover
и onmouseout
,
можно использовать для запуска функции при наведении курсора мыши на элемент HTML или его выходе из него:
Мышь надо мной
Попробуйте сами »
События onmousedown, onmouseup и onclick
События onmousedown
, onmouseup
, и onclick
,
являются частями щелчка мыши. Сначала при нажатии кнопки мыши запускается событие onmousedown
,
затем, когда кнопка мыши отпущена, запускается событие onmouseup
, наконец, когда щелчок мыши завершен,
запускается событие onclick
.
Нажмите
Попробуйте сами »
Больше примеров
События onmousedown и onmouseup
Изменение изображения, когда пользователь удерживает нажатой кнопку мыши.
Событие onload
После завершения загрузки страницы отобразится окно предупреждения.
Событие onfocus
Измените цвет фона поля ввода, когда оно получает фокус.
События onmouseover и onmouseout
Изменение цвета элемента при наведении на него курсора.
Ссылка на объект события HTML DOM
Для получения списка всех событий HTML DOM, посмотрите на нашем полном HTML DOM Справочник объект события.
JavaScript Events
HTML события — это «вещи» , которые происходят с элементами HTML.
Когда JavaScript используется на страницах HTML, JavaScript может «отреагировать» на эти события.
HTML Events
HTML-событие может быть тем, что делает браузер, или тем, что делает пользователь.
Вот несколько примеров событий HTML:
- Веб-страница HTML завершила загрузку
- Поле ввода HTML было изменено
- Нажата кнопка HTML .
Часто, когда происходят события, вы можете захотеть что-то сделать.
JavaScript позволяет выполнять код при обнаружении событий.
HTML позволяет добавлять атрибуты обработчика событий, с кодом JavaScript , к элементам HTML.
В одинарных кавычках:
< элемент событие = ‘ немного JavaScript ‘ >
С двойными кавычками:
< элемент событие = « немного JavaScript » >
В следующем примере атрибут onclick
(с кодом) добавляется к <кнопка>
элемент:
Пример
Попробуй сам »
В приведенном выше примере код JavaScript изменяет содержимое элемент с.
В следующем примере код изменяет содержимое
свой собственный элемент (используя это .innerHTML
):
Пример
Попробуй сам »
JavaScript-код часто состоит из нескольких строк. Чаще встречаются атрибуты событий, вызывающие функции:
общих событий HTML
Вот список некоторых распространенных событий HTML:
Событие | Описание |
---|---|
onchange | HTML-элемент был изменен |
onclick | Пользователь щелкает элемент HTML |
onmouseover | Пользователь наводит указатель мыши на элемент HTML |
onmouseout | Пользователь отодвигает мышь от элемента HTML |
onkeydown | Пользователь нажимает клавишу клавиатуры |
нагрузка | Браузер завершил загрузку страницы |
Список намного длиннее: Справочник по W3Schools JavaScript HTML DOM Events.
Что может делать JavaScript?
Обработчики событий могут использоваться для обработки и проверки ввода пользователя, действий пользователя, и действия браузера:
- Что нужно делать каждый раз, когда страница загружается
- Что нужно сделать, когда страница закрыта
- Действие, которое должно быть выполнено, когда пользователь нажимает кнопку
- Контент, который должен быть проверен, когда пользователь вводит данные
- и больше…
Много разных методов можно использовать, чтобы позволить JavaScript работать с событиями:
- Атрибуты событий HTML могут выполнять код JavaScript напрямую
- Атрибуты событий HTML могут вызывать функции JavaScript
- Вы можете назначить свои собственные функции обработчика событий элементам HTML
- Вы можете запретить отправку или обработку событий.
- И больше …
Вы узнаете намного больше о событиях и обработчиках событий в главах HTML DOM.
,
DOM События отправляются для уведомления кода о произошедших интересных событиях. Каждое событие представлено объектом, который основан на интерфейсе Event
и может иметь дополнительные пользовательские поля и / или функции, используемые для получения дополнительной информации о том, что произошло. События могут представлять все от базовых взаимодействий пользователя до автоматических уведомлений о событиях, происходящих в модели рендеринга.
В этой статье представлен список событий, которые можно отправить; некоторые являются стандартными событиями, определенными в официальных спецификациях, в то время как другие являются событиями, используемыми внутри определенных браузеров; например, специфичные для Mozilla события перечислены, чтобы надстройки могли использовать их для взаимодействия с браузером.
Наиболее распространенные категории
Название мероприятия | запущен, когда |
---|---|
ошибка | Не удалось загрузить ресурс. |
прервать | Загрузка ресурса была прервана. |
груз | Ресурс и его зависимые ресурсы завершили загрузку. |
до выгрузки | Окно, документ и его ресурсы должны быть выгружены. |
разгрузить | Документ или зависимый ресурс выгружается. |
Название мероприятия | запущен, когда |
---|---|
онлайн | Браузер получил доступ к сети. |
не в сети | Браузер потерял доступ к сети. |
Название мероприятия | запущен, когда |
---|---|
фокус | Элемент получил фокус (не всплывает). |
размытие | Элемент потерял фокус (не пузырится). |
focusin | Элемент собирается получить фокус (делает пузырь). |
фокус | Элемент собирается потерять фокус (делает пузырь). |
Название мероприятия | запущен, когда |
---|---|
открыто | Соединение WebSocket установлено. |
сообщение | Сообщение получено через WebSocket. |
ошибка | Соединение WebSocket было закрыто с предубеждением (например, некоторые данные не могли быть отправлены). |
закрыть | Соединение WebSocket было закрыто. |
Название мероприятия | запущен, когда |
---|---|
pagehide | Запись истории сеанса просматривается. |
страниц шоу | Запись истории сеанса проходит. |
popstate | Навигация по записи в истории сеанса (в некоторых случаях). |
Название мероприятия | запущен, когда |
---|---|
сброс | нажата кнопка сброса |
отправить | Кнопка отправки нажата |
Название мероприятия | запущен, когда |
---|---|
препринт | Открыт диалог печати |
оттиск | Диалог печати закрыт |
Название мероприятия | запущен, когда |
---|---|
Состав Старт | Композиция фрагмента текста подготовлена (аналогично keydown для ввода с клавиатуры, но работает с другими вводами, такими как распознавание речи). |
состав обновлен | Символ добавляется к отрывку текста, который составляется. |
составная часть | Композиция фрагмента текста была завершена или отменена. |
Название мероприятия | запущен, когда |
---|---|
fullscreenchange | Элемент был переключен в полноэкранный режим или из него. |
fullscreenerror | Было невозможно переключиться в полноэкранный режим по техническим причинам или из-за отказа в разрешении. |
изменить размер | Размер документа был изменен. |
свиток | Вид документа или элемент был прокручен. |
Название мероприятия | запущен, когда |
---|---|
вырезать | Выбор был вырезан и скопирован в буфер |
копия | Выбор был скопирован в буфер обмена |
паста | Элемент из буфера обмена вставлен |
Название мероприятия | запущен, когда |
---|---|
keydown | ЛЮБАЯ клавиша нажата |
клавиша | ЛЮБОЙ ключ(кроме Shift , Fn или CapsLock ) находится в нажатом положении.(Постоянно стреляет.) |
keyup | ЛЮБОЙ ключ выпущен |
Название мероприятия | запущен, когда |
---|---|
auxclick | Кнопка указательного устройства (ЛЮБАЯ неосновная кнопка) была нажата и отпущена на элементе. |
нажмите | Кнопка указательного устройства (ЛЮБАЯ кнопка; скоро станет только основной кнопкой) была нажата и отпущена на элементе. |
contextmenu | Нажата правая кнопка мыши (до отображения контекстного меню). |
dblclick | Кнопка указательного устройства дважды нажимается на элемент. |
mousedown | Кнопка указательного устройства нажата на элементе. |
mouseenter | Указательное устройство перемещается на элемент, к которому подключен слушатель. |
mouseleave | Указательное устройство перемещается с элемента, к которому подключен слушатель. |
mousemove | Указательное устройство перемещается над элементом. (Постоянно срабатывает при движении мыши.) |
mouseover | Указательное устройство перемещается на элемент, к которому подключен слушатель, или на одного из его дочерних элементов. |
мышка | Указательное устройство перемещается с элемента, к которому подключен слушатель, или с одного из его дочерних элементов. |
mouseup | Кнопка указательного устройства отпускается над элементом. |
указатель блокировки | Указатель был заблокирован или освобожден. |
pointerlockerror | Было невозможно заблокировать указатель по техническим причинам или из-за отказа в разрешении. |
выберите | Выбранный текст. |
колесо | Колесо кнопки указательного устройства вращается в любом направлении. |
Название мероприятия | запущен, когда |
---|---|
перетащить | Перетаскивается выделение элемента или текста. (Срабатывает непрерывно каждые 350 мс) |
драгенд | Операция перетаскивания завершается (путем отпускания кнопки мыши или нажатия клавиши выхода). |
драгентер | Перетаскиваемый элемент или выделенный текст вводят допустимую цель удаления. |
dragstart | Пользователь начинает перетаскивать элемент или выделение текста. |
Dragleave | Перетаскиваемый элемент или выделение текста оставляет допустимую цель удаления. |
драговер | Элемент или выделенный текст перетаскивается поверх допустимой цели перетаскивания.(Срабатывает непрерывно каждые 350 мс) |
капля | Элемент сброшен на допустимую цель сброса. |
Название мероприятия | запущен, когда |
---|---|
аудиопроцесс | Входной буфер ScriptProcessorNode готов к обработке. |
можно сыграть | Браузер может воспроизводить мультимедиа, но оценивает, что загружено недостаточно данных для воспроизведения мультимедиа до конца, без необходимости остановки для дальнейшей буферизации контента. |
может проходить через | Браузер оценивает, что он может воспроизводить медиа до конца, не останавливаясь для буферизации контента. |
завершено | Визуализация OfflineAudioContext прекращена. |
длительность обмена | Атрибут продолжительности был обновлен. |
опустошено | СМИ стали пустыми; например, это событие отправляется, если носитель уже загружен (или частично загружен), и для его перезагрузки вызывается метод load () . |
закончилась | Воспроизведение остановлено, поскольку достигнут конец носителя. |
загруженные данные | Первый кадр носителя завершил загрузку. |
загруженных метаданных | Метаданные были загружены. |
пауза | Воспроизведение было приостановлено. |
play | Началось воспроизведение. |
играют | Воспроизведение готово к запуску после приостановки или задержки из-за недостатка данных. |
обменный курс | Скорость воспроизведения изменилась. |
разыскивается | Операция поиска завершена. |
ищет | Началась операция по запросу . |
остановился | Пользовательский агент пытается получить медиа-данные, но данные неожиданно не поступают. |
приостановить | Загрузка медиа-данных приостановлена. |
timeupdate | Время, указанное атрибутом currentTime , было обновлено. |
Объем обмена | Объем изменился. |
в ожидании | Воспроизведение остановлено из-за временного недостатка данных. |
Название мероприятия | запущен, когда |
---|---|
прервать | прогрессия была прервана (не из-за ошибки). |
ошибка | Прогрессия не удалась. |
груз | Прогрессия прошла успешно. |
Loadend | Выполнение остановлено (после «ошибка» , «прервать» или «нагрузка» были отправлены). |
loadstart | Прогресс начался. |
прогресс | В процессе. |
тайм-аут | Прогрессирование прекращается из-за истечения заданного времени. |
Хранение событий
изменение
(см. Нестандартные события)
хранение
Обновление событий
проверка
загрузка
ошибка
обновление
устаревшее
обновление уже
Событие изменения значения
широковещательная
CheckboxStateChange
hashchange
вход
RadioStateChange
readystatechange
ValueChange
Без рубрики события
недействительно
сообщение
сообщение
открыто
показать
Менее распространенные и нестандартные события
событий отмены извлечения
событий WebVR
Название мероприятия | срабатывает при |
---|---|
vrdisplayactivate | Когда дисплей VR может быть представлен, например, если HMD был перемещен, чтобы вывести его из режима ожидания, или проснулся, когда его надели. |
vrdisplayblur | , когда презентация на VRDisplay по какой-то причине была приостановлена браузером, ОС или виртуальным оборудованием — например, когда пользователь взаимодействует с системным меню или браузером, чтобы предотвратить отслеживание или потерю опыта. |
vrdisplayconnect | , когда совместимый VRDisplay подключен к компьютеру. |
vrdisplaydeactivate | Когда VRDisplay больше не может быть представлен, например, если HMD перешел в режим ожидания или режим ожидания из-за периода бездействия. |
vrdisplaydisconnect | Когда совместимый VRDisplay отключен от компьютера. |
vrdisplayfocus | Когда презентация на VRDisplay возобновилась после размытия. |
vrdisplaypresentchange | Состояние представления VRDisplay изменяется — то есть от представления к не представлению, или наоборот. |
SVG events
SVGAbort
SVGError
SVGLoad
SVGResize
SVGScroll
SVGUnload
SVGZoom
База данных событий
прервать
заблокировано
завершено
ошибка
успех
обновление обновлено
изменение версии
Сценарий событий
afterscriptexecute
beforescriptexecute
DOMMenuItemActive
DOMMenuItemInactive
Окно событий
закрыть
popuphidden
popuphiding
popupshowing
popupshown
Закладка событий
visibilitychange
События батареи
зарядки, смены
зарядки, смены времени
выгрузки, смены времени
, смены уровня
Call события
предупреждая
занято
callschanged
cfstatechange
подключено
соединяющей
набора номер
отключенных
отсоединением
ошибки
провело
, , проведение
входящий
возобновление
statechange
voicechange
Сенсорные события
compassneedscalibration
devicemotion
deviceorientation
directionalchange
событий смарт-карт
icccardlockerror
iccinfochange
смарт-карта-вставка
смарт-карта-удаление
stkcommand
stksessionend
картсмена
SMS и USSD событий
доставлено
получено
отправлено
ussdreceived
Кадр событий
mozbrowserclose mozbrowsercontextmenu
mozbrowsererror mozbrowsericonchange
mozbrowserlocationchange mozbrowserloadend
mozbrowserloadstart mozbrowseropenwindow
mozbrowsersecuritychange mozbrowsershowmodalprompt
событий мутации DOM
DOMAttributeNameChanged DOMAttrModified
DOMCharacterDataModified DOMContentLoaded
DOMElementNameChanged DOMNodeInserted
DOMNodeInsertedIntoDocument DOMNodeRemoved
DOMNodeRemovedFromDocument
Сенсорные события
touchcancel
touchend
touchmove
touchstart
Указатель событий
Эти события определены в официальных веб-спецификациях и должны быть общими для всех браузеров.Каждое событие отображается вместе с интерфейсом, представляющим объект, отправленный получателям события (чтобы вы могли найти информацию о том, какие данные предоставляются для каждого события), а также ссылку на спецификацию или спецификации, которые определяют событие. Событие является сигналом того, что что-то произошло. Все DOM-узлы генерируют такие сигналы (но события не ограничиваются DOM). Вот список наиболее полезных событий DOM, просто чтобы посмотреть: События мыши: События клавиатуры: События элемента формы: События документа: CSS-событий: Есть много других событий. Подробнее о конкретных событиях мы расскажем в следующих главах. Чтобы реагировать на события, мы можем назначить обработчик - функцию, которая запускается в случае события. - это способ запуска кода JavaScript в случае действий пользователя. Есть несколько способов назначить обработчик. Давайте посмотрим на них, начиная с самого простого. В HTML можно установить обработчик с атрибутом Например, чтобы назначить обработчик При щелчке мыши запускается код внутри Обратите внимание, что внутри Все объекты события в DOM основаны на Объекте события. Следовательно, все другие объекты событий (например, MouseEvent и KeyboardEvent) имеют доступ к свойствам объекта событий и
методы. указатель
указатель
указатель
указатель
указатель
указательcancel
указатель
указатель
указатель
получен
Стандартные события
. Название мероприятия Тип события Спецификация Срабатывает, когда ... прервать
UIEvent
DOM L3 Загрузка ресурса была прервана. прервать
ProgressEvent
Прогресс и XMLHttpRequest прогрессия была прервана (не из-за ошибки). прервать
Событие
IndexedDB Транзакция была прервана. оттиск
Событие
HTML5 Связанный документ начал печататься или предварительный просмотр был закрыт. animationcancel
AnimationEvent
CSS анимации CSS-анимация прервана. анимация конец
AnimationEvent
CSS анимации CSS анимация завершена. анимация итерация
AnimationEvent
CSS анимации CSS анимация повторяется. animationstart
AnimationEvent
CSS анимации CSS анимация началась. установлен
Событие
Манифест веб-приложения Веб-приложение успешно установлено как прогрессивное веб-приложение. аудиопроцесс
AudioProcessingEvent
Web Audio API
Определение «аудиопроцесс» в этой спецификации. Входной буфер ScriptProcessorNode
готов к обработке. аудио конец
Событие
Web Speech API Пользовательский агент завершил захват аудио для распознавания речи. аудиостарт
Событие
Web Speech API Пользовательский агент начал захватывать аудио для распознавания речи. препринт
Событие
HTML5 Соответствующий документ должен быть напечатан или предварительно просмотрен для печати. до выгрузки
BeforeUnloadEvent
HTML5 Окно, документ и его ресурсы должны быть выгружены. beginEvent
TimeEvent
SVG Начинается анимационный элемент SMIL. заблокирован
IndexedDB Открытое соединение с базой данных блокирует транзакцию versionchange
в той же базе данных. размытие
FocusEvent
DOM L3 Элемент потерял фокус (не пузырится). граница
SpeechSynthesisEvent
Web Speech API Разговорное высказывание достигает границы слова или предложения можно сыграть
Событие
HTML5 медиа Пользовательский агент может воспроизводить мультимедиа, но оценивает, что загружено недостаточно данных для воспроизведения мультимедиа до его конца без необходимости остановки для дальнейшей буферизации контента. может проходить через
Событие
HTML5 медиа Пользовательский агент может воспроизводить медиа до конца, не останавливаясь для дальнейшей буферизации контента. изменение
Событие
DOM L2, HTML5 Событие
change
инициируется для
,
и , когда изменение значения элемента зафиксировано пользователем.
, зарядка, обмен
Событие
Состояние батареи
Аккумулятор начинает или прекращает зарядку.
зарядкаВремя обмена
Событие
Состояние батареи
Атрибут зарядки
ChartingTime
был обновлен.
нажмите
MouseEvent
DOM L3
Кнопка указательного устройства была нажата и отпущена на элементе.
закрыть
Событие
WebSocket
Соединение WebSocket было закрыто.
завершено
IndexedDB
Транзакция успешно завершена.
завершено
OfflineAudioCompletionEvent
Web Audio API
Определение «OfflineAudioCompletionEvent» в этой спецификации. Визуализация
OfflineAudioContext
прекращена.
составная часть
CompositionEvent
DOM L3
Композиция фрагмента текста была завершена или отменена.
Состав Старт
CompositionEvent
DOM L3
Композиция фрагмента текста подготовлена (аналогично клавише для ввода с клавиатуры, но работает с другими вводами, такими как распознавание речи).
состав обновлен
CompositionEvent
DOM L3
Символ добавляется к отрывку текста, который составляется.
contextmenu
MouseEvent
HTML5
Нажата правая кнопка мыши (до отображения контекстного меню).
копия
ClipboardEvent
Буфер обмена
Выбор текста был добавлен в буфер обмена.
вырезать
ClipboardEvent
Буфер обмена
Выделенный текст был удален из документа и добавлен в буфер обмена.
dblclick
MouseEvent
DOM L3
Кнопка указательного устройства дважды нажимается на элемент.
устройство смена
Событие
захват медиа и потоков
Мультимедийное устройство, такое как камера, микрофон или динамик, подключено или удалено из системы.
devicemotion
DeviceMotionEvent
События, связанные с устройством
Свежие данные доступны с датчика движения.
приборная ориентация
DeviceOrientationEvent
События, связанные с устройством
Свежие данные доступны с датчика ориентации.
время разряда
Событие
Состояние батареи
Атрибут
dischargingTime
был обновлен.
ДОМАктивировать
UIEvent
DOM L3
Активируется кнопка, ссылка или элемент, изменяющий состояние (вместо этого используйте
, нажмите
).
DOMAttributeNameChanged
MutationNameEvent
DOM L3 Удалено
Имя атрибута изменено (вместо этого используйте наблюдатели мутаций).
DOMAttrModified
MutationEvent
DOM L3
Значение атрибута было изменено (вместо этого используйте наблюдатели мутаций).
DOMCharacterDataModified
MutationEvent
DOM L3
Текст или другие CharacterData изменены (вместо этого используйте наблюдатели мутации).
DOMContentLoaded
Событие
HTML5
Документ завершил загрузку (но не его зависимые ресурсы).
DOMElementNameChanged
MutationNameEvent
DOM L3 Удалено
Имя элемента изменено (вместо этого используйте наблюдатели мутаций).
DOMFocusIn
FocusEvent
DOM L3
Элемент получил фокус (вместо этого используйте фокус
, фокус
или , фокус
).
DOMFocusOut
FocusEvent
DOM L3
Элемент потерял фокус (вместо этого используйте
blur
или focusout
).
DOMNodeInserted
MutationEvent
DOM L3
Узел был добавлен как дочерний элемент другого узла (вместо этого используйте наблюдатели мутаций).
DOMNodeInsertedIntoDocument
MutationEvent
DOM L3
Узел был вставлен в документ (вместо него используйте наблюдатели мутаций).
DOMNodeRemoved
MutationEvent
DOM L3
Узел был удален из его родительского узла (вместо этого используйте наблюдатели мутаций).
DOMNodeRemovedFromDocument
MutationEvent
DOM L3
Узел был удален из документа (вместо этого используйте наблюдатели мутаций).
DOMSubtreeModified
MutationEvent
DOM L3
Произошло изменение в документе (вместо этого используйте наблюдателей мутаций).
перетащить
DragEvent
HTML5
Перетаскивается выделение элемента или текста (каждые 350 мс).
драгенд
DragEvent
HTML5
Операция перетаскивания завершается (путем отпускания кнопки мыши или нажатия клавиши выхода).
драгентер
DragEvent
HTML5
Перетаскиваемый элемент или выделенный текст вводят допустимую цель удаления.
Dragleave
DragEvent
HTML5
Перетаскиваемый элемент или выделение текста оставляет допустимую цель удаления.
драговер
DragEvent
HTML5
Элемент или выделенный текст перетаскивается поверх действительной цели сброса (срабатывает каждые 350 мс).
dragstart
DragEvent
HTML5
Пользователь начинает перетаскивать элемент или выделение текста.
капля
DragEvent
HTML5
Элемент сброшен на допустимую цель сброса.
длительность обмена
Событие
HTML5 медиа
Атрибут продолжительности
был обновлен.
опустошено
Событие
HTML5 медиа
СМИ стали пустыми. Например, это событие вызывается, если носитель уже был загружен (или частично загружен), и для его перезагрузки вызывается метод
load ()
.
конец
Событие
Web Speech API
Служба распознавания речи отключена.
конец
SpeechSynthesisEvent
Web Speech API
Речь закончилась.
закончилась
Событие
HTML5 медиа
Воспроизведение остановлено, поскольку достигнут конец носителя.
закончилась
Событие
Web Audio API
Воспроизведение остановлено, поскольку достигнут конец носителя.
endEvent
TimeEvent
SVG
Элемент анимации SMIL заканчивается.
ошибка
UIEvent
DOM L3
Не удалось загрузить ресурс.
ошибка
ProgressEvent
Прогресс и XMLHttpRequest
Прогрессия не удалась.
ошибка
Событие
WebSocket
Соединение WebSocket было закрыто с предубеждением (например, некоторые данные не могли быть отправлены).
ошибка
Событие
событий, отправленных сервером
Ошибка подключения к источнику событий.
ошибка
Событие
IndexedDB
Запрос вызвал ошибку и не прошел.
ошибка
Событие
Web Speech API
Произошла ошибка распознавания речи.
ошибка
SpeechSynthesisErrorEvent
Web Speech API
Произошла ошибка, которая препятствует успешному произнесению высказывания.
фокус
FocusEvent
DOM L3
Элемент получил фокус (не всплывает).
focusin
FocusEvent
DOM L3
Элемент должен получить фокус (пузыри).
фокус
FocusEvent
DOM L3
Элемент собирается потерять фокус (пузыри).
fullscreenchange
Событие
Полноэкранный режим
Элемент был переключен в полноэкранный режим или из него.
Введение в события браузера
щелчок
- когда мышь щелкает элемент (устройства с сенсорным экраном генерируют его при нажатии). contextmenu
- когда мышь щелкает правой кнопкой мыши на элементе. mouseover
/ mouseout
- когда курсор мыши появляется или покидает элемент. mousedown
/ mouseup
- когда кнопка мыши нажата / отпущена над элементом. mousemove
- при перемещении мыши.
keydown
и keyup
- когда клавиша клавиатуры нажата и отпущена.
отправить
- когда посетитель отправляет <форма>
. фокус
- когда посетитель фокусируется на элементе, например, на <вход>
.
DOMContentLoaded
- когда HTML загружается и обрабатывается, DOM полностью создается.
transitionend
- когда заканчивается CSS-анимация. HTML-атрибут
в
. click
для входа
, мы можем использовать onclick
, как здесь:
onclick
. onclick
мы используем одинарные кавычки, поскольку сам атрибут находится в двойных кавычках. Если мы забываем, что код находится внутри атрибута, а внутри используются двойные кавычки, например:
. Объект события
Свойство / Метод
Описание
пузырей
Возвращает, является ли конкретное событие пузырьковым событием
отменить пузырь
Устанавливает или возвращает, должно ли событие распространяться вверх по иерархии или
не
отменяемый
Возвращает, можно ли предотвратить событие по умолчанию для события
состоит из
Возвращает, составлено событие или нет
createEvent ()
Создает новое событие
compPath ()
Возвращает путь события
currentTarget
Возвращает элемент, чьи прослушиватели событий вызвали событие
по умолчанию Предотвращено
Возвращает, был ли вызван метод protectDefault () для события
EventPhase
Возвращает, какая фаза потока событий в настоящее время оценивается
доверенных
Возвращает, является ли событие доверенным
protectDefault ()
Отменяет событие, если его можно отменить. Это означает, что действие по умолчанию, относящееся к событию, не произойдет.
stopImmediatePropagation ()
Запрещает другим слушателям того же события называться
stopPropagation ()
Предотвращает дальнейшее распространение события во время потока событий
цель
Возвращает элемент, вызвавший событие
Метка времени
Возвращает время (в миллисекундах относительно эпохи), в которое было создано событие
тип
Возвращает название события
Событие
Описание
прервать
Событие происходит, когда загрузка носителя прервана
отпечаток
Событие происходит, когда страница начала печатать
перед печатью
Событие происходит, когда страница должна быть напечатана
до выгрузки
Событие происходит до того, как документ должен быть выгружен.
можно сыграть
Событие происходит, когда браузер может начать воспроизведение мультимедиа (когда оно буферизовано
достаточно для начала)
может пройти через
Событие происходит, когда браузер может воспроизводить мультимедиа без
остановка для буферизации
изменить
Событие возникает, когда содержимое элемента формы, выбор или проверенное состояние изменились (для ,
ошибка
Событие возникает, когда при загрузке внешнего файла возникает ошибка
fullscreenchange
Событие возникает, когда элемент отображается в полноэкранном режиме.
fullscreenerror
Событие возникает, когда элемент не может быть отображен в полноэкранном режиме.
вход
Событие происходит, когда элемент получает пользовательский ввод
недействительным
Событие происходит, когда элемент недействителен
нагрузка
Событие происходит, когда объект загрузился
загруженных данных
Событие происходит при загрузке медиа-данных.
загруженных метаданных
Событие возникает при загрузке метаданных (например, измерений и продолжительности).
сообщение
Событие возникает при получении сообщения через источник события
оффлайн
Событие происходит, когда браузер начинает работать в автономном режиме
онлайн
Событие происходит, когда браузер начинает работать в сети
открыть
Событие возникает при открытии соединения с источником события.
пауза
Событие происходит, когда носитель приостановлен либо пользователем, либо
программно
играть
Событие происходит, когда носитель был запущен или больше не приостановлен.
играет
Событие возникает, когда мультимедиа воспроизводится после приостановки или остановки для буферизации .
прогресс
Событие происходит, когда браузер находится в процессе получения медиа
данные (загрузка медиа)
Курс обмена
Событие происходит, когда скорость воспроизведения мультимедиа изменяется
изменить размер
Событие происходит при изменении размера представления документа.
сброс
Событие происходит при сбросе формы
свиток
Событие происходит, когда полоса прокрутки элемента прокручивается
поиск
Событие происходит, когда пользователь пишет что-то в поле поиска (для )
разыскивается
Событие происходит, когда пользователь заканчивает перемещение / переход на новую позицию.
в СМИ
ищет
Событие происходит, когда пользователь начинает перемещаться / переходить на новую позицию в
СМИ
выберите
Событие происходит после выбора пользователем текста (для и
показать
Событие происходит, когда элемент
остановился
Событие возникает, когда браузер пытается получить мультимедийные данные, но данные недоступны.
отправить
Событие происходит, когда форма отправлена
приостановить
Событие происходит, когда браузер намеренно не получает медиа-данные
, время обновления
Событие происходит, когда игровая позиция изменилась (например, когда пользователь
перемотка вперед в другой момент в СМИ)
тумблер
Событие происходит, когда пользователь открывает или закрывает элемент
разгрузить
Событие происходит, когда страница выгружена (для )
в ожидании
Событие происходит, когда носитель приостановился, но ожидается возобновление (например,
когда мультимедиа делает паузу для буферизации дополнительных данных)