我一直在玩添加隱藏的iframe元素到頁面,我想操縱這些加載後的DOM。我注意到,在將iframe添加到頁面後,我無法立即開始操作DOM,因爲它尚未加載。這不能用DOMContentLoaded
事件完成,因爲這會觸發iframe中不存在的文檔,直到它被添加到頁面,所以我們必須使用load
事件。onload的loadrame行爲vs addEventListener('load')
下面是一些測試代碼:
var iframe = document.createElement('iframe');
iframe.onload = function() { console.log('loaded!'); };
document.getElementsByTagName('body')[0].appendChild(iframe);
可正常工作,但是當我將其更改爲addEventListener
它甚至不被添加到DOM:
var iframe = document.createElement('iframe');
iframe.addEventListener('load', function() { console.log('loaded!'); });
document.getElementsByTagName('body')[0].appendChild(iframe);
我的天堂」在IE中測試attachEvent
。
有人對此有所瞭解嗎?
我相信你關於第三個參數的觀點正是問題所在,我沒有得到你所做的錯誤,但它可能只是被壓制了。我不記得,但很明顯,我沒有在Chrome中測試它(愚蠢的我...)很好,謝謝。 – roryf 2011-05-24 10:15:01