2010-04-08 51 views

回答

18

你需要使用:

$(document).ready(function() { /* your code */ }); 

使事情發生爲onload。如果你想要的東西的onload和在onResize工作,你應該做的:

onResize = function() { /* your code */ } 

$(document).ready(onResize); 

$(window).bind('resize', onResize); 
1

此行爲是設計使然。

你應該把你的代碼放到一個命名函數中,然後調用函數。

例如:

function onResize() { ... } 

$(onResize); 
$(window).resize(onresize); 

或者,你可以做一個插件自動綁定和執行處理程序:

$.fn.bindAndExec = function(eventNames, handler) { 
    this.bind(eventNames, handler).each(handler); 
}; 

$(window).bindAndExec('resize', function() { ... }); 

注意,如果處理程序將無法正常工作使用event對象,並且它不涵蓋bind方法的每個超載。

1
$(document).ready(onResize); 
$(window).bind('resize', onResize); 

沒有和我一起工作。

嘗試

$(window).load('resize', onResize); 
$(window).bind('resize', onResize); 

代替。

(我知道這個問題是舊的,但谷歌把我送進這裏,所以...)

0

另一種方法,你可以簡單地設置一個處理程序,並自己僞造resize事件:

// Bind resize event handler through some form or fashion 
$(window).resize(function(){ 
    alert('Resized!'); 
}); 

// Trigger/spoof a 'resize' event manually 
$(window).trigger('resize'); 
4

我認爲最好的辦法是把它綁定到負載和調整事件:

$(window).on('load resize', function() { 
    // your code 
}); 
+0

這是所有 – 2016-06-10 03:03:35

+0

的最直接的答案這使得它簡單,乾淨。 – jamesnotjim 2016-07-08 14:38:07

相關問題