2017-03-20 68 views
0

我想在瀏覽器失去焦點時顯示警告框。因此,這裏是我的代碼:window.blur - 警報框不斷顯示

$(window).blur(function(e) { 
    alert("Your browser lost focus"); 
    e.stopPropagation(); 
}); 

然而,警告框保持彈出,說當我使用Alt + Tab切換到另一個窗口。任何人都可以幫助告訴我什麼是錯的?

+0

你找'e.preventDefault()'以防止默認動作 – guradio

+0

@guradio感謝 –

+0

檢查了這一點的http://計算器.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault –

回答

3

使用$(window).blur - 一旦alert窗口彈出時,alert本身導致你失去專注於瀏覽器。這是高度推薦

如果你只是想測試失去焦點,您應該使用:

console.log("Your browser lost focus"); 

否則,請勿將本該網站的用戶 - 這將導致alert窗口無限循環。

+2

ProTip:放棄使用'alert()'進行調試的習慣。你會發現'console.log()'和'console.error()'會讓你的生活更美好。 https://developer.mozilla.org/en-US/docs/Web/API/Console – cloudworks

0

試試這個

$('selector').on(eventType, function (event) { 
    alert(('cancelable' in event)); //will return true 
    alert(event.cancelable);  //will return true if event can be cancelled 
    //NOTE: Firefox mistakenly always returns true 
}); 
0
TRY THIS DEMO, ALERT ON LOST FOCUS, WHEN LOST FOCUS TRIGGER OR CALL ANY ACTION 

TRY THIS FIDDLE