2

我意识到您可以使用以下方法轻松检查焦点:

var hasFocus = true;
$(window).blur(function(){
    hasFocus = false;
});
$(window).focus(function(){
    hasFocus = true;
});

但是,这仍然等于 false,例如,当用户在另一个应用程序的第一个屏幕上工作时,在第二个屏幕上打开了浏览器窗口。

这是用于报告实时数据的实时应用程序,当用户将应用程序放在选项卡中或最小化时,我不想进行长时间轮询,但我确实想在窗口显示时运行轮询(即使它没有聚焦)。

有没有办法检查窗口是否是视图?(最好在较旧的浏览器中工作?)

4

1 回答 1

1
var hasFocus = true;
$(window)
.focus(function(eventObject){
    eventObject.stopPropagation();
    hasFocus = true;
})
.blur(function(eventObject){
     eventObject.stopPropagation();
     hasFocus = false;
 });
于 2012-05-21T05:47:47.303 回答