HTML DOM addEventListener() 方法
- 上一頁 accessKey
- 下一頁 appendChild()
- 返回上一層 HTML DOM Elements 對象
定義和用法
addEventListener()
方法將事件處理程序附加到元素。
實例
例子 1
向 <button> 元素添加 click 事件:
element.addEventListener("click", myFunction); function myFunction() { document.getElementById("demo").innerHTML = "Hello World"; }
例子 2
更緊湊的代碼:
element.addEventListener("click", function() { document.getElementById("demo").innerHTML = "Hello World"; });
您可以在頁面下方找到更多實例。
語法
element.addEventListener(type, function, useCapture)
參數
參數 | 描述 |
---|---|
type |
必需。事件的名稱。 請不要使用 "on" 前綴。 請使用 "click" 而不是 "onclick"。 |
function | 必需。事件發生時運行的函數。 |
useCapture |
可選(default = false)。
|
返回值
無。
技術細節
該方法將把指定的事件監聽器函數添加到當前節點的監聽器集合中,以處理指定類型 type 的事件。如果 useCapture 為 true,則監聽器被注冊為捕捉事件監聽器。如果 useCapture 為 false,它被注冊為普通事件監聽器。
addEventListener() 可能被調用多次,在同一個節點上為同一種類型的事件注冊多個事件句柄。但要注意,DOM 不能確定多個事件句柄被調用的順序。
如果一個事件監聽器函數在同一個節點上用相同的 type 和 useCapture 參數注冊了兩次,那么第二次注冊將被忽略。如果正在處理一個節點上的事件時,在這個節點上注冊了一個新的事件監聽器,則不會為那個事件調用新的事件監聽器。
當用 Node.cloneNode() 方法或 Document.importNode() 方法復制一個 Document 節點時,不會復制為原始節點注冊的事件監聽器。
更多實例
例子 3
您可以將許多事件添加到同一元素:
element.addEventListener("click", myFunction1); element.addEventListener("click", myFunction2);
例子 4
您可以將不同的事件添加到同一元素:
element.addEventListener("mouseover", myFunction); element.addEventListener("click", someOtherFunction); element.addEventListener("mouseout", someOtherFunction);
例子 5
如需傳遞參數值,請使用“匿名函數”:
element.addEventListener("click", function() { myFunction(p1, p2); });
例子 6
更改 <button> 元素的背景顏色:
element.addEventListener("click", function() { this.style.backgroundColor = "red"; });
例子 7
冒泡和捕獲的區別:
element1.addEventListener("click", myFunction, false); element2.addEventListener("click", myFunction, true);
例子 8
刪除事件處理程序:
element.addEventListener("mousemove", myFunction); element.removeEventListener("mousemove", myFunction);
瀏覽器支持
element.addEventListener()
是 DOM Level 2 (2001) 功能。
所有瀏覽器都完全支持它:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
支持 | 9-11 | 支持 | 支持 | 支持 | 支持 |
相關頁面
元素方法:
文檔方法:
教程:
- 上一頁 accessKey
- 下一頁 appendChild()
- 返回上一層 HTML DOM Elements 對象