0
目前在我的一個項目中,我劫持了div的appendChild方法並將其代理到我自己的一個方法中。這工作得很好,但是在劫持它之後,appendChild屬性出現在dom中,這種行爲只發生在IE7/IE8中。玩過開發人員工具之後,我發現如果單擊「顯示只讀屬性」,您可以看到所有HTMLDivElement原型的功能,但已修改的功能不再視爲只讀。我的問題是,是否有可能使該函數被再次視爲dom元素屬性?同樣對於獎勵積分,如果我可以繼續並像我剛剛那樣重寫那個函數,那麼首先只讀標誌的重點是什麼?是否可以使dom屬性只讀?
此外,只是爲了確保我得到它,我只看到這種行爲在IE7和IE8。
例如:
<div id="element1">
</div>
var domElement = document.getElementById('element1');
domElement['appendChild'] = function newAppendChild() {....}
但股利現在出現在DOM作爲
<div id="element1" appendChild="function newAppendChild() {...}"></div>
的最終目標將是不具備的appendChild已經顯示出來。
您可以發佈演示?我無法想象這種情況... – elclanrs
你真的想要解決什麼問題?在我看來,你是在替換一個內置的方法,然後試圖使它成爲只讀的,當可能有更好的方法來處理你正在嘗試解決的實際問題時,你會陷入一片混亂。 – jfriend00