Anda dapat menggunakan .resize()untuk mendapatkan setiap kali lebar / tinggi benar-benar berubah, seperti ini:
$(window).resize(function() {
//resize just happened, pixels changed
});
Anda dapat melihat demo yang berfungsi di sini , dibutuhkan nilai tinggi / lebar baru dan memperbaruinya di halaman untuk Anda lihat. Ingat acara tidak benar-benar dimulai atau berakhir , itu hanya "terjadi" ketika perubahan ukuran terjadi ... tidak ada yang mengatakan yang lain tidak akan terjadi.
Sunting: Dengan komentar sepertinya Anda menginginkan sesuatu seperti "on-end" event, solusi yang Anda temukan melakukan ini, dengan beberapa pengecualian (Anda tidak dapat membedakan antara mouse-up dan jeda dengan cara lintas-browser, sama untuk akhir vs jeda ). Anda dapat membuat acara itu, untuk membuatnya sedikit lebih bersih, seperti ini:
$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function() {
$(this).trigger('resizeEnd');
}, 500);
});
Anda dapat memiliki ini sebagai file dasar di suatu tempat, apa pun yang ingin Anda lakukan ... maka Anda dapat mengikat ke resizeEndacara baru yang Anda picu, seperti ini:
$(window).bind('resizeEnd', function() {
//do something, window hasn't changed size in 500ms
});
Anda dapat melihat demo kerja pendekatan ini di sini