我不知道爲什麼會這樣,我很想得到一個解釋。
使用jQuery的focus
方法我綁定到窗口焦點事件。 這是一個工作示例(複製粘貼到HTML文件並打開在瀏覽器中的jsfiddle或jsbin不行的,因爲某些原因)
<!DOCTYPE html>
<html>
<head><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script></head>
<body>
<p1>Here:</p1>
<div id="here" >Why</div>
</body>
<script>
$(window).load(function() {
$(window).focus(function() {console.log("focus");});
$(window).blur(function() {console.log("blur");});
});
</script>
</html>
當瀏覽器重新獲得焦點函數運行兩次,「焦點「被打印到控制檯兩次。 任何想法爲什麼發生這種情況?
的最終目標,順便說一句,是從當用戶離開瀏覽器應用程式或其他選項卡停止運行的定時器。
UPDATE
運行在最新的Chrome(開發)版本。我會在Firefox上測試它,如果它不同,請寫。
UPDATE 2 有趣的事實 - 不會發生在Firefox上。也許它是一個Chrome的錯誤。
這對我有用。你正在使用哪種瀏覽器? –
@PhilBooth Chrome(更新了問題) – Ben
@Derek正如我寫的 - 我試圖看看瀏覽器是否焦點不在#here – Ben