Event — Интерфейсы веб API
Интерфейс Event
представляет собой любое событие, которое происходит в DOM; некоторые из них генерируемые пользователем (клик мышью или нажатие клавиши на клавиатуре), а некоторые — генерируемые API (события, обозначающие завершение процесса анимации, приостановка видео и т.д.). Существует много типов событий, некоторые из них используют интерфейсы, базирующиеся на главном интерфейсе Event
. Event
содержит общие свойства и методы для всех событий.
Ниже приведён список интерфейсов, основанных на главном интерфейсе Event
, а также указаны ссылки на них в документации MDN API. Заметьте, что имена всех интерфейсов оканчиваются на «Event».
AnimationEvent
AudioProcessingEvent
(en-US)BeforeInputEvent
BeforeUnloadEvent
BlobEvent
(en-US)ClipboardEvent
CloseEvent
(en-US)CompositionEvent
(en-US)CSSFontFaceLoadEvent
CustomEvent
(en-US)DeviceLightEvent
DeviceMotionEvent
(en-US)DeviceOrientationEvent
(en-US)DeviceProximityEvent
(en-US)DOMTransactionEvent
DragEvent
(en-US)EditingBeforeInputEvent
ErrorEvent
(en-US)FetchEvent
(en-US) FocusEventGamepadEvent
HashChangeEvent
(en-US)IDBVersionChangeEvent
(en-US)InputEvent
KeyboardEvent
MediaStreamEvent
(en-US)MessageEvent
(en-US)MouseEvent
MutationEvent
(en-US)OfflineAudioCompletionEvent
(en-US)PageTransitionEvent
(en-US)PointerEvent
(en-US)PopStateEvent
(en-US)ProgressEvent
(en-US)RelatedEvent
RTCDataChannelEvent
(en-US)RTCIdentityErrorEvent
RTCIdentityEvent
RTCPeerConnectionIceEvent
(en-US)SensorEvent
StorageEvent
(en-US)SVGEvent
(en-US)SVGZoomEvent
TimeEvent
(en-US)TouchEvent
TrackEvent
TransitionEvent
(en-US)UIEvent
(en-US)UserProximityEvent
(en-US)WebGLContextEvent
(en-US)WheelEvent
(en-US)
Event()
Создаёт объект
Event
и возвращает его вызывающему.
Event.bubbles
Только для чтенияЛогическое значение, указывающее, всплыло ли событие вверх по DOM или нет.
Event.cancelBubble
(en-US)Историческое название синонима
Event.stopPropagation()
. Если установить значение вtrue
до возврата из обработчика события (Event Handler), то событие не будет распространяться дальше (например, на обработчики для родительских узлов).Event.cancelable
Только для чтенияЛогическое значение, показывающее возможность отмены события.
Event.composed
(en-US) Только для чтенияЛогическое значение, показывающее может или нет событие всплывать через границы между shadow DOM (внутренний DOM конкретного элемента) и обычного DOM документа.
Event.currentTarget
Ссылка на текущий зарегистрированный объект, на котором обрабатывается событие. Это объект, которому планируется отправка события; поведение можно изменить с использованием перенаправления (retargeting).
Event.deepPath
(en-US) Non-standardМассив
DOM-узлов
, через которые всплывало событие.Event.defaultPrevented
Только для чтенияПоказывает, была ли для события вызвана функция
. event.preventDefault()Event.eventPhase
Только для чтенияУказывает фазу процесса обработки события.
Event.explicitOriginalTarget
(en-US) Non-standard Только для чтенияЯвный первоначальный целевой объект события (Mozilla-специфичный). Не может содержать анонимного контента.
Event.originalTarget
(en-US)Первоначальный целевой объект события до перенаправлений (Mozilla-специфичный). Может быть из анонимного контента.
Event.returnValue
(en-US) Non-standardНестандартная альтернатива (оставшаяся от старых версий Microsoft Internet Explorer) для
Event.preventDefault()
иEvent.defaultPrevented
.Event.scoped
(en-US) Только для чтения Этот API вышел из употребления и его работа больше не гарантируется.Логическое значение
, показывающее всплывает ли данное событие через shadow root (внутренний DOM-элемента). Это свойство было переименовано вcomposed
(en-US).Event.srcElement
Non-standardНестандартный синоним (остался от старых версий Microsoft Internet Explorer) для
Event.target
.Event.target
Ссылка на целевой объект, на котором произошло событие.
Event.timeStamp
Только для чтенияВремя, когда событие было создано (в миллисекундах). По спецификации это время от начала Эпохи (Unix Epoch), но в действительности в разных браузерах определяется по-разному; кроме того, ведётся работа по изменению его на
DOMHighResTimeStamp
тип.Event.type
Только для чтенияНазвание события (без учёта регистра символов).
Event.isTrusted
Только для чтенияПоказывает было или нет событие инициировано браузером (например, по клику мышью) или из скрипта (например, через функцию создания события, такую как event.
Event.createEvent()
(en-US)Создаёт новое событие, которое затем должно быть проинициализировано вызовом его метода
initEvent()
.Event.initEvent()
DeprecatedИнициализация значений созданного с помощью Document.createEvent() (en-US) события. Если событие уже отправлено, то эта функция ничего не делает.
Event.preventBubble()
Non-standard Вышла из употребления с версии Gecko 24Предотвращает всплытие события. Устаревшая, используйте вместо неё
event.stopPropagation
.Event.preventCapture()
Non-standard Вышла из употребления с версии Gecko 24Устаревшая, используйте вместо неё
event. stopPropagation
.Event.preventDefault()
Отменяет событие (если его возможно отменить).
Event.stopImmediatePropagation()
Для конкретного события не будет больше вызвано обработчиков. Ни тех, которые привязаны к этому же элементу (на котором работает обработчик, который вызывает этот Event.stopImmediatePropagation()), ни других, которые могли бы вызваться при распространении события позже (например, в фазе перехвата — capture).
Event.stopPropagation()
Остановка распространения события далее по DOM.
Event.getPreventDefault()
Non-standardНестандартная. Возвращает значение
Event.defaultPrevented
. Используйте вместо неёEvent.defaultPrevented
.
Specification |
---|
DOM Standard # interface-event |
BCD tables only load in the browser
with JavaScript enabled. Enable JavaScript to view data.- Типы событий: Event reference (en-US)
- Сравнение Event Targets (target и currentTarget и relatedTarget и originalTarget)
- Creating and triggering custom events (en-US)
- Для разработчиков дополнений Firefox:
- Listening to events in Firefox extensions
- Listening to events on all tabs
- Mozilla related events in real life at wiki.mozilla.org
Last modified: , by MDN contributors
События в 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
- Вы можете установить собственную функцию обработки события
- Вы можете запретить отправку и обработку события
- И многое другое …
— веб-API | MDN
Интерфейс Event
представляет событие, происходящее в DOM.
Событие может быть вызвано действием пользователя, например. щелчок по кнопке мыши или нажатие на клавиатуру или сгенерированный API для представления хода выполнения асинхронной задачи. Его также можно запустить программно, например, вызвав метод HTMLElement.click()
элемента или определив событие, а затем отправив его в указанную цель, используя EventTarget.dispatchEvent()
.
Существует множество типов событий, некоторые из которых используют другие интерфейсы, основанные на основном интерфейсе Event
. Само событие
содержит свойства и методы, общие для всех событий.
Многие элементы DOM можно настроить так, чтобы они принимали (или «прослушивали») эти события и выполняли код в ответ на их обработку (или «обработку»). Обработчики событий обычно подключаются (или «прикрепляются») к различным элементам HTML (таким как Примечание: Один элемент может иметь несколько таких обработчиков даже для одного и того же события, особенно если их присоединяют отдельные независимые модули кода, каждый для своих независимых целей. (Например, веб-страница с рекламным модулем и модулем статистики, которые отслеживают просмотр видео. ) При наличии множества вложенных элементов, каждый со своим обработчиком (обработчиками), обработка событий может стать очень сложной, особенно если родительский элемент получает то же самое событие, что и его дочерние элементы, потому что они «пространственно» перекрываются, поэтому событие технически происходит в обоих случаях, а порядок обработки таких событий зависит от параметров всплывающей подсказки и захвата событий для каждого запущенного обработчика. Ниже приведен список интерфейсов, основанных на основном интерфейсе Обратите внимание, что все интерфейсы событий имеют имена, оканчивающиеся на «Event». Создает объект Логическое значение, указывающее, всплывает ли событие через DOM. Логическое значение, указывающее, можно ли отменить событие. Логическое значение, указывающее, может ли событие всплывать через границу между теневым DOM и обычным DOM. Ссылка на текущую зарегистрированную цель для события. Это объект, которому в настоящее время планируется отправить событие. Возможно, это было изменено во время перенацеливания на . Указывает, отменил ли вызов Указывает, какая фаза потока событий обрабатывается. Это одно из следующих чисел: Указывает, было ли событие инициировано браузером (например, после щелчка пользователя) или сценарием (например, с использованием метода создания события). Ссылка на объект, которому изначально было отправлено событие. Время создания события (в миллисекундах). По спецификации это значение представляет собой время, прошедшее с начала эпохи, но на самом деле определения браузеров различаются. Кроме того, ведутся работы по изменению этого параметра на Имя без учета регистра, определяющее тип события. Исторический псевдоним Явная исходная цель события. Первоначальная цель события до любых ретаргетингов. Историческое свойство по-прежнему поддерживается, чтобы существующие сайты продолжали работать. Используйте Логическое значение, указывающее, будет ли данное событие всплывать через теневой корень в стандартный DOM. Вместо этого используйте Псевдоним (из старых версий Microsoft Internet Explorer) для Возвращает путь к событию (массив объектов, для которых будут вызываться слушатели). Это не включает узлы в теневых деревьях, если теневой корень был создан с закрытым Отменяет событие (если оно отменяемое). Для этого конкретного события запретить вызов всех других слушателей. Сюда входят слушатели, прикрепленные к одному и тому же элементу, а также те, которые прикреплены к элементам, которые будут пройдены позже (например, на этапе захвата). Останавливает дальнейшее распространение событий в DOM. Инициализирует значение созданного события. Если событие уже отправлено, этот метод ничего не делает. Используйте конструктор (вместо этого загрузка только в браузере таблицы BCD Последнее изменение: 000Z»> 10 октября 2022 г. , участниками MDN ❮ Предыдущая
Следующий ❯ HTML-события — это «вещи» , которые происходят с элементами HTML. Когда JavaScript используется на страницах HTML, JavaScript может «реагировать» на
эти события. Событием HTML может быть действие браузера или пользователя. Вот несколько примеров событий HTML: Часто, когда происходят события, вы можете захотеть что-то сделать. JavaScript позволяет выполнять код при обнаружении событий. HTML позволяет добавлять атрибуты обработчика событий с кодом JavaScript к элементам HTML. С одинарными кавычками: < элемент event = ‘ JavaScript ‘ > С двойными кавычками: < элемент event = » JavaScript » > В следующем примере атрибут Попробуйте сами » В приведенном выше примере код JavaScript изменяет содержимое
элемент с. В следующем примере код изменяет содержимое
собственный элемент (используя Попробуйте сами » Код JavaScript часто состоит из нескольких строк. Чаще можно увидеть атрибуты событий, вызывающие функции: Попробуйте сами » Вот список некоторых распространенных HTML-событий события: Список намного длиннее: W3Schools JavaScript Reference HTML DOM Events. Обработчики событий могут использоваться для обработки и проверки пользовательского ввода, действий пользователя,
и действия браузера: Можно использовать множество различных методов, позволяющих JavaScript работать с событиями: Вы узнаете гораздо больше о событиях и обработчиках событий в главах HTML DOM. Элемент Начать упражнение ❮ Предыдущий
Следующий ❯ NEW Мы только что запустили Узнать Играть в игру
,
и т. д.) с использованием EventTarget.addEventListener()
, и это обычно заменяет использование старых атрибутов обработчика событий HTML. Кроме того, при правильном добавлении такие обработчики также могут быть отключены при необходимости с помощью removeEventListener()
. Event
, со ссылками на соответствующую документацию в справочнике MDN API. AnimationEvent
Событие АудиоОбработки
Устаревший Перед разгрузкой события
БлобСобытие
Событие буфера обмена
CloseEvent
Событие композиции
Пользовательское событие
Девицемотионевент
Девицеориентатионевент
Девицепроксимитиевент
Not for use in new websites.»>
Устаревший Событие перетаскивания
ErrorEvent
ФетчЕвент
Фокусное событие
Фонтфацесетлоадевент
ФормДатаЭвент
GamepadEvent
HashChangeEvent
HIDInputReportEvent
Идбверсиончанжеевент
Событие ввода
Событие Клавиатуры
MediaStreamEvent
Устаревший Событие сообщения
MouseEvent
Событие мутации
Устаревший OfflineAudioCompletionEvent
PageTransitionEvent
PaymentRequestUpdateEvent
PointerEvent
Попсстатеевент
Прогрессивент
RTCDataChannelEvent
RTCPeerConnectionIceEvent
StorageEvent
Отправить Событие
SVGEvent
Not for use in new websites.»>
Устаревший Событие времени
TouchEvent
TrackEvent
Событие перехода
UIEvent
UserProximityEvent
Устаревший Вебглконтекстевент
Событие колеса
Событие()
Event
, возвращая его вызывающей стороне. Event.bubbles
Только чтение Event.cancelable
Только чтение Event.composed
Только чтение Event.currentTarget
Только чтение Event.defaultPrevented
Только чтение event.preventDefault()
событие. Event.eventPhase
Только чтение NONE
, CAPTURING_PHASE
, AT_TARGET
, BUBBLING_PHASE
. Event.isTrusted
Только чтение Event. target
Только чтение Event.timeStamp
Только чтение DOMHighResTimeStamp вместо
. Event.type
Только чтение Устаревшие и нестандартные свойства
Event.cancelBubble
Устаревший Event.stopPropagation()
, который следует использовать вместо него. Установка его значения в true
перед возвратом из обработчика событий предотвращает распространение события. Event.explicitOriginalTarget
Нестандартный Только чтение Event.originalTarget
Нестандартный Только чтение Событие.returnValue
Устаревший Event.preventDefault()
и Event.defaultPrevented вместо
. Event.scoped
Только чтение Устаревший , составленный из
. Event.srcElement
Только чтение Устаревший Событие.цель
. Вместо этого используйте Event.target
. Event.composedPath()
ShadowRoot.mode
. Событие.preventDefault()
Event.stopImmediatePropagation()
Event.stopPropagation()
Устаревшие методы
Event.initEvent()
Устаревший Event()
). Спецификация DOM Standard
# interface-event цель
против currentTarget
против relatedTarget
против originalTarget
) События JavaScript
События HTML
onclick
(с кодом) добавляется к
element: Пример
this .innerHTML
): Пример
Пример
Общие события HTML
Событие Описание на смену Элемент HTML был изменен по клику Пользователь щелкает элемент HTML при наведении мыши Пользователь наводит указатель мыши на элемент HTML onmouseout Пользователь уводит указатель мыши от элемента HTML нажатие клавиши Пользователь нажимает клавишу клавиатуры под нагрузкой Браузер завершил загрузку страницы Обработчики событий JavaScript
Проверьте себя с помощью упражнений
Упражнение:
должен что-то делать, когда кто-то щелкает по нему. Попробуй исправить!
Видео W3Schools COLOR PICKER
КОД ИГРЫ
Лучшие учебники
Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3.CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery
9004
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.