Chrome不会触发内容可编辑iframe中的文档焦点和模糊事件

时间:2013-08-04 14:44:08

标签: javascript google-chrome javascript-events jquery

我正在改变iframe内容。它可以在FF中使用,但在Google Chrome中不会触发focusblur事件!

var iframe = $('#iframe').get(0);
iframe.onload = function(){

    iframeDoc = $(iframe.contentWindow.document);
    iframeDoc.focus(function(){
        alert('focused');
    }).blur(function(){alert('blur');
        alert('blured');
    });

}

尽管如此,keyupkeypress之类的其他活动正在发挥作用。你知道问题是什么以及如何处理它?<​​/ p>

2 个答案:

答案 0 :(得分:4)

在Chrome中,iFrame文档没有焦点或模糊事件,窗口显示:

var iframe  = document.getElementById('iframe');
var iWindow = iframe.contentWindow;

iWindow.onfocus = function(){
    console.log('focused');
}
iWindow.onblur = function(){
    console.log('blured');
}

FIDDLE

答案 1 :(得分:0)

根据http://api.jquery.com/focus/focus只能用于某些元素(主要是表单元素)。您可能需要考虑从body标记上的iframe中捕获点击事件,以确定用户是否正在与其进行交互。