Jak uzyskać dostęp do tej funkcji nie tylko po zmianie rozmiaru okna, ale także po wczytaniu strony początkowej?Funkcja zmiany rozmiaru jQuery nie działa na ładowanie strony.
$(window).resize(function() {
...
});
Jak uzyskać dostęp do tej funkcji nie tylko po zmianie rozmiaru okna, ale także po wczytaniu strony początkowej?Funkcja zmiany rozmiaru jQuery nie działa na ładowanie strony.
$(window).resize(function() {
...
});
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);
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
.
$(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 ...)
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');
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
});
jest to najprostsza odpowiedź wszystkim –
to sprawia, że prosty i czysty. – jamesnotjim