我想在瀏覽器失去焦點時顯示警告框。因此,這裏是我的代碼:window.blur - 警報框不斷顯示
$(window).blur(function(e) {
alert("Your browser lost focus");
e.stopPropagation();
});
然而,警告框保持彈出,說當我使用Alt + Tab切換到另一個窗口。任何人都可以幫助告訴我什麼是錯的?
我想在瀏覽器失去焦點時顯示警告框。因此,這裏是我的代碼:window.blur - 警報框不斷顯示
$(window).blur(function(e) {
alert("Your browser lost focus");
e.stopPropagation();
});
然而,警告框保持彈出,說當我使用Alt + Tab切換到另一個窗口。任何人都可以幫助告訴我什麼是錯的?
使用$(window).blur
- 一旦alert
窗口彈出時,alert
箱本身導致你失去專注於瀏覽器。這是高度推薦。
如果你只是想測試失去焦點,您應該使用:
console.log("Your browser lost focus");
否則,請勿將本該網站的用戶 - 這將導致alert
窗口無限循環。
ProTip:放棄使用'alert()'進行調試的習慣。你會發現'console.log()'和'console.error()'會讓你的生活更美好。 https://developer.mozilla.org/en-US/docs/Web/API/Console – cloudworks
試試這個
$('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
});
TRY THIS DEMO, ALERT ON LOST FOCUS, WHEN LOST FOCUS TRIGGER OR CALL ANY ACTION
你找'e.preventDefault()'以防止默認動作 – guradio
@guradio感謝 –
檢查了這一點的http://計算器.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault –