为什么模糊事件不起作用?

时间:2017-09-11 09:20:13

标签: javascript

这是我目前的代码:

var interval;

function printPageState() {
    console.log("active");
}

window.onfocus = function() {
    console.log("focus");
    clearInterval(interval);

    interval = setInterval(printPageState, 2000);
};

window.onblur = function() {
    console.log("blur");
    clearInterval(interval);
};

window.onscroll = function() {
    console.log("scroll");
    if (!document.hasFocus())
        document.getElementById("some-id").focus();

    clearInterval(interval);

    interval = setInterval(printPageState, 2000);
};

我尝试创建用户注意力检查器/页面ping功能。检查器当前有一个用于模糊,焦点和滚动事件的事件处理程序。

当遇到以下问题时,我遇到了上述问题。

  • 您的浏览器在浏览器视图端口上有一些可查看部分,即使页面未对焦也可以滚动。
  • 页面失焦,或模糊事件已被触发。

我想停止间隔,但模糊事件不再触发,因为浏览器没有聚焦,所以我试图强调其中一个元素的焦点状态,但没有锁定它不起作用。

执行以下问题以复制问题:

  • 在最小化浏览器中打开页面>然后关注页面。
  • 滚动可见的浏览器视图端口,但不要点击(不会使焦点状态为真)。

0 个答案:

没有答案