|
復制代碼 代碼如下:
Element.prototype.addEventListener = function(evtType, evtHandler) {
return this.attachEvent('on' + evtType, evtHandler);
}
Object.defineProperty(Event.prototype, 'target', {
get: function() { return this.srcElement },
set: function(v) { return this.srcElement = v }
});
這似乎和早年使用__definegetter__之流讓Firefox兼容IE的方法一致,不過這次使用的是完全標準(DOM原型和ECMA v5)的方法來彌補IE的缺憾。可能IE8開發時重寫了渲染引擎但是沒來及(我很樂觀……)發布新的DOM接口(可能是為了兼容第三方應用程序),所以給出了這個方案。
JavaScript技術:讓IE8支持DOM 2(不用框架!),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。