Behandeln Sie Ereignisse in UpdatePanels mit jQuerys $(document).ready
Wenn Sie mit Elementen in UpdatePanels mit jQuery arbeiten, verlassen Sie sich ausschließlich auf $( document).ready-Ereignisbindung kann unzureichend sein. Bei teilweisen Seitenaktualisierungen funktionieren diese Ereignishandler im aktualisierten Bereich nicht mehr.
Empfohlener Ansatz
Um dieses Problem zu beheben, sollten Sie den folgenden Ansatz in Betracht ziehen:
Anfängliche Bindung mit $(document).ready:
Binden Sie die Event-Handler während des an die relevanten Elemente Erstmaliges Laden der Seite mit $(document).ready.
Erneutes Abonnement im Page Request Manager:
Abonnieren Sie das endRequest-Ereignis des PageRequestManagers von Microsoft. Dieses Ereignis wird nach teilweisen Seitenaktualisierungen ausgelöst. Binden Sie innerhalb des Event-Handlers die jQuery-Event-Handler erneut an die jetzt aktualisierten Elemente.
Dieses Snippet veranschaulicht den Ansatz:
$(document).ready(function() { // Initial binding }); var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function() { // Re-binding });
Alternativer Ansatz
Erwägen Sie alternativ die Verwendung der .on()-Methode von jQuery, die effizienter ist als ein erneutes Abonnement. Bewerten Sie diesen Ansatz jedoch sorgfältig, um sicherzustellen, dass er Ihren spezifischen Anforderungen entspricht. Einzelheiten zu .on() finden Sie in der jQuery-Dokumentation:
Das obige ist der detaillierte Inhalt vonWie kann ich jQuery-Ereignisse in ASP.NET UpdatePanels zuverlässig verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!