iframe getFocus не сработает

У меня есть 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 ответ

  1. Я сделал простую ошибку, выполнив сценарий до того, как документ был готов. Поэтому мне пришлось немного изменить javascript. Поэтому я положил выше код в следующем коде:

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