Apakah ada cara dengan jQuery atau JavaScript untuk memicu fungsi ketika pengguna mengakhiri untuk mengubah ukuran jendela browser?
Dalam istilah lain:
- Bisakah saya mendeteksi acara mouse up ketika pengguna mengubah ukuran jendela browser? Jika tidak:
- Bisakah saya mendeteksi ketika operasi pengubahan ukuran jendela selesai?
Saat ini saya hanya dapat memicu suatu peristiwa ketika pengguna mulai mengubah ukuran jendela dengan jQuery
javascript
jquery
aneuryzm
sumber
sumber
Jawaban:
Anda dapat menggunakan
.resize()
untuk mendapatkan setiap kali lebar / tinggi benar-benar berubah, seperti ini: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:
Anda dapat memiliki ini sebagai file dasar di suatu tempat, apa pun yang ingin Anda lakukan ... maka Anda dapat mengikat ke
resizeEnd
acara baru yang Anda picu, seperti ini:Anda dapat melihat demo kerja pendekatan ini di sini
sumber
Ini dapat dicapai dengan properti onresize dari antarmuka GlobalEventHandlers dalam JavaScript, dengan menetapkan fungsi ke properti onresize , seperti:
window.onresize = functionRef;
Cuplikan kode berikut menunjukkan ini, dengan konsol mencatat innerWidth dan innerHeight jendela setiap kali diubah ukurannya. (Acara pengubahan ukuran akan menyala setelah jendela diubah ukurannya)
sumber
Cara lain untuk melakukan ini, hanya menggunakan JavaScript, adalah:
Ini menyala setiap kali ukurannya berubah, seperti jawaban lainnya.
functionName
adalah nama fungsi yang dieksekusi ketika jendela diubah ukurannya (tanda kurung pada akhirnya tidak diperlukan).sumber
Jika Anda ingin memeriksa hanya ketika gulir berakhir, di Vanilla JS, Anda dapat menemukan solusi seperti ini:
Super sangat kompak
Semua 3 kemungkinan kombinasi bersama (ES6)
sumber