Adaptation de la liaison d'événements jQuery aux mises à jour UpdatePanel
L'intégration de la gestion des événements jQuery dans UpdatePanels pose un défi en raison du remplacement d'éléments lors des mises à jour partielles des pages .
Utiliser $(document).ready pour la liaison initiale devient insuffisant. Comme indiqué dans le problème, "il n'est pas exécuté et les effets de survol de la souris ne fonctionnent plus dans UpdatePanel" après une mise à jour.
Approche recommandée : tirer parti de PageRequestManager
Pour résoudre ce problème, il est recommandé de s'abonner à nouveau aux événements après chaque mise à jour d'UpdatePanel. Le cycle de vie ajax ASP.NET, accessible via PageRequestManager, fournit une solution.
Le code suivant illustre cette approche :
$(document).ready(function() { // bind jQuery events initially }); var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function() { // re-bind jQuery events });
Le PageRequestManager, accessible si un UpdatePanel est présent, fournit une endRequest événement déclenché lorsqu’une mise à jour est terminée. Cet événement permet de relier à nouveau les événements jQuery.
Option alternative : jQuery .on()
Selon la situation, la méthode .on() de jQuery peut proposer une alternative plus efficace. .on() permet la liaison au conteneur d'un élément, évitant ainsi d'avoir à se lier à nouveau à chaque mise à jour. Il est cependant important de considérer les limites de cette approche et de s'assurer de son adéquation à vos besoins spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!