iFrame getFocus不会触发

时间:2016-11-09 11:52:58

标签: javascript jquery firefox iframe focus

我有一个iframe如下:

<iframe name="richTextField" id="richTextField" style="border:#000 1px solid; width:700px; height:300px;"></iframe>

我有一些javascript应该在iframe获得或失去焦点时触发,但在Firefox上它不起作用,除非我在正手上插入警报。脚本如下:

<script type="text/JavaScript">
    document.getElementById('richTextField').contentWindow.document.designMode="on";
    document.getElementById('richTextField').contentWindow.document.close();

    if(navigator.userAgent.indexOf("Firefox") != -1){
        //When alert below is removed, the blur/focus doesn't work in FireFox
        alert("what?");
        $("#richTextField").contents().bind('blur', function(){
//            blur functions
            console.log("Firefox Blur");
        });
        $("#richTextField").contents().bind('focus', function(){
//                focus functions
            console.log("Firefox Focus");
        });
    } else {
        $("#richTextField").contents().find("body").blur(function(){
//                blur functions
            console.log("Blur");
        });
        $("#richTextField").contents().find("body").focus(function(){
//                focus functions
            console.log("Focus");
        });
    }
</script>

1 个答案:

答案 0 :(得分:0)

我在文档准备好之前犯了一个简单的错误就是执行脚本。所以我不得不稍微改变一下javascript。所以我将上面的代码放在以下代码中:

$(document).ready(function() {
    //Above code without the script tags and without the alert
});