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 중국어 웹사이트의 기타 관련 기사를 참조하세요!