在iframe主体上设置焦点和模糊事件不能与firefox一起使用

时间:2016-10-19 05:53:32

标签: jquery firefox iframe onblur onfocus

我创建了一个可编辑的iFrame:

<iframe frameborder="0" id="editor"></iframe>

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

    $("#editor").contents().find("body").blur(function(){ // Blur functions });

    $("#editor").contents().find("body").focus(function(){// focus functions });

</script>

焦点和模糊事件在chrome中被触发但不适用于firefox。

1 个答案:

答案 0 :(得分:1)

解析为:

<iframe frameborder="0" id="editor"></iframe>

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

if(navigator.userAgent.indexOf("Firefox") != -1){
    $("#editor").contents().bind('blur', function(){ // Blur functions });
    $("#editor").contents().bind('focus', function(){ // focus functions });
}else{
    $("#editor").contents().find("body").blur(function(){ // Blur functions });
    $("#editor").contents().find("body").focus(function(){ // focus functions });
}
</script>

对于firefox,它适用于内容()上设置的焦点/模糊,而不适用于正文。