0

我在聚焦时更改 iframe 内容。它适用于 FF,但focus事件blur不会在 Google Chrome 中触发!

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

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

}

尽管如此,其他事件如keyup,keypress正在工作。您知道问题出在哪里以及如何处理吗?

4

2 回答 2

4

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

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

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

小提琴

于 2013-08-04T15:05:42.267 回答
0

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

于 2013-08-04T15:03:05.440 回答