Menyesuaikan Pengikatan Acara jQuery kepada Kemas Kini UpdatePanel
Menggabungkan pengendalian acara jQuery dalam UpdatePanels menimbulkan cabaran kerana penggantian elemen semasa kemas kini halaman separa .
Menggunakan $(document).sedia untuk pengikatan awal menjadi tidak mencukupi. Seperti yang dinyatakan dalam masalah, "ia tidak dijalankan dan kesan tetikus tidak berfungsi lagi di dalam UpdatePanel" selepas kemas kini.
Pendekatan Disyorkan: Memanfaatkan PageRequestManager
Untuk menyelesaikan isu ini, adalah disyorkan untuk melanggan acara sekali lagi selepas setiap kemas kini UpdatePanel. Kitaran hayat ajax ASP.NET, diakses melalui PageRequestManager, menyediakan penyelesaian.
Kod berikut menggambarkan pendekatan ini:
$(document).ready(function() { // bind jQuery events initially }); var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function() { // re-bind jQuery events });
PageRequestManager, boleh diakses jika UpdatePanel hadir, menyediakan endRequest peristiwa dicetuskan apabila kemas kini selesai. Acara ini membenarkan pengikatan semula acara jQuery.
Pilihan Alternatif: jQuery .on()
Bergantung pada situasi, kaedah .on() jQuery mungkin menawarkan alternatif yang lebih cekap. .on() membolehkan pengikatan pada bekas elemen, dengan itu mengelakkan keperluan untuk mengikat semula pada setiap kemas kini. Walau bagaimanapun, adalah penting untuk mempertimbangkan batasan pendekatan ini dan memastikan kesesuaiannya untuk keperluan khusus anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Pengikatan Acara jQuery Selepas Kemas Kini ASP.NET UpdatePanel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!