0
먼저 함수를 호출 할 수 있습니다. 을 클릭하고 포커스를 jQuery에서 창에? 내가 시도 :JQuery, 첫 번째 창 클릭, 다음 포커스
$(window).click(function(){
console.log(1);
});
$(document).focus(function(){
console.log(2);
});
$(document).blur(function(){
console.log(3);
});
하지만 $ (문서) .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');
});
:
- 클릭 버튼은
- 본인은 progr에 클릭 창에서 오전
- 나는 다시 내 페이지를 클릭하여 배경
출력 콘솔 :
button click
blur
focus
unactive varible
내가 원하는 :
button click
blur
unactive varible
오 덕분에, 난 이것에 대해 생각하지 않는다,하지만 난 $에 (창) .focus를 추가 할 때 작동! $ (창) .focus (() 함수를 { 경우 (document.hasFocus())는 false를 돌려; 경우 (wasClick) { 이 isActive = TRUE; wasClick = 거짓; CONSOLE.LOG ('초점');} }); 정말 고마워! –
도와 줘서 기뻐요! –
오, 이건 작동하지 않습니다. 그리고 이것은 몇 가지 버그가 있습니다 .. 때로는 document.hasFocus()를 우회하고 예제 카드를 전환 할 때 흐림 및 포커스 함수가 여러 번 실행됩니다. –