2010-04-08 12 views

Odpowiedz

18

będziemy chcieli użyć:

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

Aby coś się stało onload. Jeśli chcesz coś do pracy onload i onresize, należy zrobić:

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

$(document).ready(onResize); 

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

To zachowanie jest zgodne z projektem.

Powinieneś umieścić swój kod w nazwanej funkcji, a następnie wywołać funkcję.

Na przykład:

function onResize() { ... } 

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

Alternatywnie, można dokonać plugin automatycznie wiązać i wykonać Handler:

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

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

Należy pamiętać, że to nie będzie działać poprawnie, jeśli handler używa obiektu event i nie obejmuje każdego przeciążenia metody bind.

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

nie działa ze mną.

Spróbuj

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

zamiast.

(wiem, że to pytanie jest stary, ale google wysłał mnie tutaj, więc ...)

0

Innym podejściem, można łatwo skonfigurować do obsługi i sfałszować zdarzenie Resize siebie:

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

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

Myślę, że najlepszym rozwiązaniem jest po prostu związać go do obciążenia i rozmiaru zdarzenie:

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

jest to najprostsza odpowiedź wszystkim –

+0

to sprawia, że ​​prosty i czysty. – jamesnotjim

Powiązane problemy