|
復(fù)制代碼 代碼如下:
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的方法一致,不過(guò)這次使用的是完全標(biāo)準(zhǔn)(DOM原型和ECMA v5)的方法來(lái)彌補(bǔ)IE的缺憾。可能IE8開(kāi)發(fā)時(shí)重寫(xiě)了渲染引擎但是沒(méi)來(lái)及(我很樂(lè)觀……)發(fā)布新的DOM接口(可能是為了兼容第三方應(yīng)用程序),所以給出了這個(gè)方案。
JavaScript技術(shù):讓IE8支持DOM 2(不用框架!),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。