我只注意到,每當瀏覽器窗口調整大小時,jquery resize事件都會觸發兩次。我無法找到任何文件列出這是默認行爲。我已經在最新版本的Chrome和Firefox中使用jQuery 1.4和1.5測試了這一點。爲什麼jQuery調整事件觸發兩次?
有沒有其他人看到這種行爲?它有一個特定的原因嗎?
更新:如果我單擊瀏覽器窗口上的一次最大化按鈕,就會發生這種情況。我明白,如果我手動將窗口拖動到不同的大小,事件將會被多次觸發,但是最大化按鈕不應該是這種情況。
使用的代碼如下測試。瀏覽器大小的文本輸出兩次:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js"></script>
<script type="text/javascript">
$(window).resize(function(){
console.log('Browser Resized');
});
</script>
<body>
</body>
</html>
直覺,這是真的** **只是一種直覺,是,調整對象同時改變其長度和寬度。 Mayhap的「調整大小」事件觸發了每個軸上的變化? – tobias86 2011-04-04 06:46:16
我認爲它會在頁面加載時觸發兩次,因爲事件在瀏覽器解析元素之前被實例化。 resize事件在元素創建時觸發。只是一個理論,但可能。你怎麼看? – www139 2016-05-14 03:34:53