彈出的iframe 表單無法獲取焦點(diǎn)
昨天被朋友問到這個(gè)問題,
說一個(gè)彈窗里面包含一個(gè)編輯字段的iframe,在IE下面 第二次彈出的時(shí)候,彈窗中的元素便不能獲取焦點(diǎn)。
開始懷疑是z-index的原因,修改無效。
后來搜索到這篇文章:
http://www.dewen.org/q/2662
明白了原因,也就是關(guān)閉彈窗的時(shí)候 簡(jiǎn)單的移除了彈窗,沒有對(duì)iframe進(jìn)行清理,這樣內(nèi)存里面相當(dāng)于還有一份iframe的實(shí)例,
這就造成了第二次彈窗 元素?zé)o法獲取焦點(diǎn)。
解決方法可以參照上面這篇文章,沒有親自驗(yàn)證。
對(duì)于關(guān)閉按鈕存在于彈出的iframe中的,可以在父層窗口準(zhǔn)備一個(gè)移除iframe的方法,在關(guān)閉的時(shí)候運(yùn)行一下,銷毀需要關(guān)閉的iframe實(shí)例。
var clearIframe = function(f){
try{
f.contentWindow.document.write('');
f.contentWindow.close();
f.parentNode.removeChild(frame);
}catch(e){}
};
var close = function(){ if(typeof top.clearIframe == 'function'){ top.clearIframe(self) } /*...其他要做的...*/ };
這樣再?gòu)棾龅木褪切碌膇frame而不和內(nèi)存中的殘留沖突了。
posted on 2012-10-12 15:40 trance 閱讀(2413) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)