W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
EventTarget是一個由對象實現(xiàn)的接口,這些對象可以接收事件,并為它們提供偵聽器。
Element,document和window是最常見的活動目標,但其他的對象也可以是事件目標,例如XMLHttpRequest,AudioNode,AudioContext,等等。
許多事件目標(包括元素,文檔和窗口)也支持通過on...屬性來設(shè)置事件處理程序。
由JS實現(xiàn)的事件目標使用Mozilla擴展來實現(xiàn)on*屬性。
var EventTarget = function() {
this.listeners = {};
};
EventTarget.prototype.listeners = null;
EventTarget.prototype.addEventListener = function(type, callback) {
if (!(type in this.listeners)) {
this.listeners[type] = [];
}
this.listeners[type].push(callback);
};
EventTarget.prototype.removeEventListener = function(type, callback) {
if (!(type in this.listeners)) {
return;
}
var stack = this.listeners[type];
for (var i = 0, l = stack.length; i < l; i++) {
if (stack[i] === callback){
stack.splice(i, 1);
return;
}
}
};
EventTarget.prototype.dispatchEvent = function(event) {
if (!(event.type in this.listeners)) {
return true;
}
var stack = this.listeners[event.type].slice();
for (var i = 0, l = stack.length; i < l; i++) {
stack[i].call(this, event);
}
return !event.defaultPrevented;
};
規(guī)范 | 狀態(tài) | 注釋 |
---|---|---|
DOM 該規(guī)范中“EventTarget”的定義。 |
Living Standard
|
沒有改變 |
文檔對象模型(DOM)級別3事件規(guī)范 該規(guī)范中“EventTarget”的定義。 |
已過時 | 一些參數(shù)現(xiàn)在是可選的(listener),或接受null值(useCapture)。 |
文檔對象模型(DOM)級別2事件規(guī)范 該規(guī)范中“EventTarget”的定義。 |
已過時 | 初步定義。 |
電腦端 | 移動端 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome
|
Edge
|
Firefox
|
Internet Explorer
|
Opera
|
Safari
|
Android webview | Chrome for Android
|
Edge Mobile | Firefox for Android
|
Opera for Android
|
iOS Safari | |
基本支持 | 支持:1 | 支持 | 支持:1 | 支持:9 | 支持:7 | 支持:10.1 | 支持:1 | 支持:18 | 支持 | 支持:4 | 支持:7 | 支持:10.1 |
EventTarget() 構(gòu)造函數(shù) | 支持:64 | ? | 支持:59 | 不支持 | 支持:51 | 不支持 | 支持:64 | 支持:64 | ? | 支持:59 | 支持:51 | 不支持 |
addEventListener | 支持:1 |
支持:12 | 支持:1 | 支持:9 | 支持:7 | 支持:1 | 支持:1 |
支持:18 |
支持 | 支持:4 | 支持:7 | 支持:1 |
dispatchEvent | 支持:4 | 支持:12 | 支持:2 | 支持:9 | 支持:9 | 支持:3.2 | 支持:4 | 支持:18 | 支持 | 支持:4 | 支持 | 支持 |
removeEventListener | 支持:1 | 支持:12 | 支持:1 | 支持:9 | 支持:7 | 支持:1 | 支持:1 | 支持:18 | 支持 | 支持:4 | 支持:7 | 支持:1 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: