>  기사  >  웹 프론트엔드  >  Firefox 브라우저에서 iframe의 src 속성을 수정한 후 onblur 오류 문제 소개

Firefox 브라우저에서 iframe의 src 속성을 수정한 후 onblur 오류 문제 소개

黄舟
黄舟원래의
2017-07-21 13:18:321984검색

Firefox 브라우저에서 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>

Baozhan에 질문을 올렸고, 전문가의 답변을 받은 후 문제가 마침내 해결되었습니다.

이유는 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>

위 내용은 Firefox 브라우저에서 iframe의 src 속성을 수정한 후 onblur 오류 문제 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.