JQuery,先window点击,下一个焦点

JQuery, first window click, next focus

我如何才能先调用函数 click 然后再调用 focus 和 jQuery 中的 window? 我试过了:

$(window).click(function(){
    console.log(1);
});

$(document).focus(function(){
    console.log(2);
});

$(document).blur(function(){
    console.log(3);
});

但是 $(document).focus 和 .blur 不起作用

我有的代码,例如:

var isActive = false, wasClick = false;
$(window).click(function()
{
    if (!$(this).hasClass('button') && !$(this).hasClass('otherElement'))
    {
        isActive = false;
        wasClick = false;
        console.log('unactive varible');
    }
});

$(window).focus(function()
{
    if (wasClick) 
    {
        isActive = true;
        wasClick = false;
        console.log('focus');
    }
});

$(window).blur(function()
{
    if (isActive)
    {
        wasClick = true;
        isActive = false;
        console.log('blur');
    }
});

$('.button').click(function()
{
    isActive = true;
    console.log('button click');
});

我执行以下步骤:

  1. 点击按钮
  2. 我点击windows
  3. 中的其他程序
  4. 我通过点击背景返回我的页面

输出控制台:

button click
blur
focus
unactive varible

我要:

button click
blur
unactive varible

据我所知,焦点事件在 window 对象上并不可靠(至少在所有浏览器中)。 您可以使用 document.hasFocus() 定期检查页面的焦点状态,但我想这并不完全是您要查找的内容?