iframe在火狐瀏覽器下的src屬性修改之後onblur失效問題介紹

黄舟
發布: 2017-07-21 13:18:32
原創
1981 人瀏覽過

iframe在火狐瀏覽器下的src屬性修改之後onblur失效問題介紹

<span style="font-family:Microsoft YaHei;font-size:18px;">
<span style="background-color: rgb(255, 255, 255);">昨天写了一下 </span>
<a target=_blank href="http://blog.csdn.net/u012175246/article/details/44104783" target="_blank" style="background-color: rgb(255, 255, 255);">笔记</a> 
<span style="background-color: rgb(255, 255, 255);">,提到了火狐iframe的onblur事件失效的问题。(这是火狐固有的问题,见 </span>
<a target=_blank href="qq://txfile/#" style="background-color: rgb(255, 237, 196);"> 
<span style="background-color: rgb(255, 255, 255);"> 。)虽然笔记里的方法解决了失效的问题,但当我改变iframe的src属性值之后,onblur事件再次失效。</span>
</span>
登入後複製

在爆棧上提問,經大神們解答,終於解決了這個問題。

原因是更改iframe的src屬性值後,瀏覽器會刷新iframe的內容,此時onblur事件失效。解決的方法時,每當iframe載入之後,重新綁定事件。即在iframe裡加入onload屬性。這個屬性值對應綁定事件的函數。

<span style="font-size:14px;">
<iframe id="iframe" src="" scrolling="yes" style="display: none;width:500px;height:500px" src="" onblur="hide()" onload="seint()">
</iframe>
</span>
登入後複製


<span style="font-size:14px;"><script>
function seint(){
	if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){  
		document.getElementById("iframe").contentWindow.addEventListener("blur",hide,false);  
   	}
}
</script></span>
登入後複製

以上是iframe在火狐瀏覽器下的src屬性修改之後onblur失效問題介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板