2011-05-27 113 views

回答

3

參見:http://www.thefutureoftheweb.com/blog/detect-browser-window-focus

這些事件在每一個主要 瀏覽器(Firefox,Internet Explorer的 6/7,Safari瀏覽器& Opera)的工作。

演示:http://www.thefutureoftheweb.com/demo/2007-05-16-detect-browser-window-focus/

function onBlur() { 
    document.body.className = 'blurred'; 
}; 
function onFocus(){ 
    document.body.className = 'focused'; 
}; 

if (/*@[email protected]*/false) { // check for Internet Explorer 
    document.onfocusin = onFocus; 
    document.onfocusout = onBlur; 
} else { 
    window.onfocus = onFocus; 
    window.onblur = onBlur; 
} 
+0

你會認爲會有一些可以做到的事情,有滾動條,爲什麼不是其他的東西?但感謝您的答案。 – penguinrob 2011-05-27 23:02:30

+1

我在檢查Google後更改了我的答案。事實證明,畢竟有一種方法。對於那個很抱歉。 – thirtydot 2011-05-27 23:02:55

+0

Schweet!謝謝,男人! – penguinrob 2011-05-27 23:07:44

0

不幸:window-inactive不規範並且僅適用於使用::selection據我所知滾動條和文本選擇。你必須使用JavaScript來獲得你想要的。

+1

謝謝,我認爲onBlur和onFocus會爲我工作。 – penguinrob 2011-05-27 23:10:13

2

由於您只關注WebKit,因此您可能會使用:window-inactive僞選擇器,該選擇器應該適用於滾動條。我沒有在MacOS X上測試過它,但你可以試試它。

但是,如果您想要更多的跨瀏覽器,請使用JavaScript根據窗口活動定義CSS類。看到這個帖子:Is there a way to detect if a browser window is not currently active?

+1

我沒有注意到你已經鏈接的問題。它的答案和我在這裏的回答完全一樣。好吧。 – thirtydot 2011-05-27 23:16:30

相關問題