Просто чтобы быть совершенно понятным, сам язык не имеет понятия событий.Это часть DOM.
<strong>Event Handler:</strong>
An asynchronous callback that is invoked when an event is raised.
<strong>Event Listener:</strong>
An object that implements an interface and has events "pushed" to it.
В контексте событий DOM используется следующий интерфейс:
interface EventListener {
void handleEvent(in Event evt);
};
Затем вы регистрируете слушателя следующим образом:
target.addEventListener(type, listener, useCapture);
Вотдокументация от MDC :
<strong>listener:</strong>
The object that receives a notification when an event of the specified
type occurs. This must be an object implementing the EventListener interface,
or simply a JavaScript function.
Таким образом, объекты функций неявно реализуют EventListener для простоты использования.
Аналогии
Думайте о обработчике событий как о предоставлении инструкции почтальону.
Я не хочу ждать, пока вы зайдете, поэтому я хочу, чтобы вы передали посылку моему супругу, чтобы они могли ее открыть.
Подумайтеиз Event Listener как ожидающий вашего доктора.
Я буду ждать уведомления, что вы готовы ко мне.А пока я буду читать журнал.
В конце концов, хотя это просто абстракции для
Эй, я хочу, чтобы вы выполнили этот код!
Ресурсы
Обработчик событий
Шаблон наблюдателя