明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

iframe在火狐浏览器下的src属性更改之后onblur失效问题说明

[摘要]iframe在火狐浏览器下的src属性修改之后onblur失效问题介绍<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="background-color: r...
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中文网其它相关文章!


网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。