Możesz użyć, .resize()aby uzyskać za każdym razem, gdy szerokość / wysokość faktycznie się zmienia, na przykład:
$(window).resize(function() {
//resize just happened, pixels changed
});
Możesz zobaczyć działające demo tutaj , pobiera nowe wartości wysokości / szerokości i aktualizuje je na stronie, abyś mógł je zobaczyć. Pamiętaj, że wydarzenie tak naprawdę nie rozpoczyna się ani nie kończy , po prostu „dzieje się”, gdy następuje zmiana rozmiaru ... nie ma co powiedzieć, że kolejne się nie wydarzy.
Edycja: według komentarzy wygląda na to, że chcesz mieć coś w rodzaju zdarzenia „on-end”, rozwiązanie, które znalazłeś, robi to, z kilkoma wyjątkami (nie można odróżnić przesunięcia myszy od pauzy w przypadku różnych przeglądarek, to samo na koniec vs pauza ). Możesz jednak utworzyć to wydarzenie, aby było trochę czystsze, na przykład:
$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function() {
$(this).trigger('resizeEnd');
}, 500);
});
Możesz mieć gdzieś plik podstawowy, cokolwiek chcesz zrobić ... wtedy możesz powiązać się z tym nowym resizeEndzdarzeniem, które wyzwalasz, na przykład:
$(window).bind('resizeEnd', function() {
//do something, window hasn't changed size in 500ms
});
Można zobaczyć demo roboczą tego podejścia tutaj