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');
});
我执行以下步骤:
- 点击按钮
- 我点击windows
中的其他程序
- 我通过点击背景返回我的页面
输出控制台:
button click
blur
focus
unactive varible
我要:
button click
blur
unactive varible
据我所知,焦点事件在 window 对象上并不可靠(至少在所有浏览器中)。
您可以使用 document.hasFocus()
定期检查页面的焦点状态,但我想这并不完全是您要查找的内容?
我如何才能先调用函数 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');
});
我执行以下步骤:
- 点击按钮
- 我点击windows 中的其他程序
- 我通过点击背景返回我的页面
输出控制台:
button click
blur
focus
unactive varible
我要:
button click
blur
unactive varible
据我所知,焦点事件在 window 对象上并不可靠(至少在所有浏览器中)。
您可以使用 document.hasFocus()
定期检查页面的焦点状态,但我想这并不完全是您要查找的内容?