Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengekalkan Pengikatan Acara jQuery Selepas Kemas Kini ASP.NET UpdatePanel?

Bagaimanakah Saya Boleh Mengekalkan Pengikatan Acara jQuery Selepas Kemas Kini ASP.NET UpdatePanel?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-05 13:44:10200semak imbas

How Can I Maintain jQuery Event Binding After ASP.NET UpdatePanel Updates?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn