綁定事件的另一種方法是用 addEventListener() 或 attachEvent() 來綁定事件監聽函數。
addEventListener()函數語法:
elementObject.addEventListener(eventName,handle,useCapture);
參數 | 說明 |
---|---|
elementObject | DOM對象(即DOM元素)。 |
eventName | 事件名稱。注意,這里的事件名稱沒有“ on ”, 如鼠標單擊事件 click ,鼠標雙擊事件 doubleclick , 鼠標移入事件 mouseover,鼠標移出事件 mouseout 等。 |
handle | 事件句柄函數,即用來處理事件的函數。 |
useCapture | Boolean類型,是否使用捕獲,一般用false 。這里涉及到JavaScript事件流的概念,后續章節將會詳細講解。 |
attachEvent()函數語法:
elementObject.attachEvent(eventName,handle);
參數 | 說明 |
---|---|
elementObject | DOM對象(即DOM元素)。 |
eventName | 事件名稱。注意,與addEventListener()不同, 這里的事件名稱有“ on ”,如鼠標單擊事件 onclick , 鼠標雙擊事件 ondoubleclick ,鼠標移入事件 onmouseover, 鼠標移出事件 onmouseout 等。 |
handle | 事件句柄函數,即用來處理事件的函數。 |
注意:事件句柄函數是指“ 函數名 ”,不能帶小括號。
addEventListener()是標准的綁定事件監聽函數的方法,是W3C所支持的,Chrome、FireFox、Opera、Safari、IE9.0及其以上版本都支持該函數;但是,IE8.0及其以下版本不支持該方法,它使用attachEvent()來綁定事件監聽函數。所以,這種綁定事件的方法必須要處理瀏覽器兼容問題。