--- title: EventListener slug: Web/API/EventListener tags: - DOM - 事件 - 事件監聽 translation_of: Web/API/EventListener ---
EventListener 介面表示一個可以處理由 {{domxref("EventTarget")}} 物件分派事件的物件。
注意:基於相容舊版內容的需要, EventListener 可以接受一個函式及一個帶有 handleEvent() 屬性函式的物件。相關的範例顯示在下方。
這個介面並不實作且不繼承任何屬性。
這個介面不繼承任何方法。
<button id="btn">Click here!</button>
const buttonElement = document.getElementById('btn');
// 透過提供回呼函數的方式對「click」事件新增處理器。
// 當元素被點選後會出現「Element clicked!」的彈出訊息。
buttonElement.addEventListener('click', function (event) {
alert('Element clicked through function!');
});
// 基於相容性,一個帶有 `handleEvent` 的非函式物件可被視為處理函式。
buttonElement.addEventListener('click', {
handleEvent: function (event) {
alert('Element clicked through handleEvent property!');
}
});
{{EmbedLiveSample('Example')}}
| 規格 | 狀態 | 註解 |
|---|---|---|
| {{SpecName('DOM WHATWG', '#callbackdef-eventlistener', 'EventListener')}} | {{Spec2('DOM WHATWG')}} | No change. |
| {{SpecName('DOM2 Events', '#Events-EventListener', 'EventListener')}} | {{Spec2('DOM2 Events')}} | Initial definition. |
{{Compat("api.EventListener")}}