我試圖做一些類似的...如何檢查窗口是否有焦點?
if (window.onblur) {
setTimeout(function() {
DTitChange(name)
}, 1000)
} else {
document.title = dtit
}
的window.onblur似乎並沒有被工作,雖然是有什麼我可以替換成?
我試圖做一些類似的...如何檢查窗口是否有焦點?
if (window.onblur) {
setTimeout(function() {
DTitChange(name)
}, 1000)
} else {
document.title = dtit
}
的window.onblur似乎並沒有被工作,雖然是有什麼我可以替換成?
您應該爲window.onblur
指定一個函數,在您的問題中,您只測試屬性onblur
是否存在。但window.onblur
並不總是在每個瀏覽器中正常工作。文章Detecting focus of a browser window顯示瞭如何設置。在你的情況下,它會是這樣的:
function DTitBlur() {
/* change title of page to ‘name’ */
setTimeout(function() {
DTitChange(name)
}, 1000);
}
function DTitFocus() {
/* set title of page to previous value */
}
if (/*@[email protected]*/false) { // check for Internet Explorer
document.onfocusin = DTitFocus;
document.onfocusout = DTitBlur;
} else {
window.onfocus = DTitFocus;
window.onblur = DTitBlur;
}
你是什麼意思似乎沒有工作?以下是您目前所說的內容:
If there's an onblur event handler:
execute DTitChange once ever second.
Else
document.title = dtit
這可能不是您想要的。嘗試
window.onblur = function() {
setTimeout(function() { DTitChange(name) }, 1000);
};
還確保您設置onfocus處理程序以清除超時,如果您希望它在用戶返回時停止發生。 :)