Maison >interface Web >js tutoriel >Comment gérer de manière fiable les événements jQuery dans les UpdatePanels ASP.NET ?

Comment gérer de manière fiable les événements jQuery dans les UpdatePanels ASP.NET ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-08 17:14:10806parcourir

How to Reliably Handle jQuery Events Within ASP.NET UpdatePanels?

Gérez les événements dans UpdatePanels avec $(document).ready de jQuery

Lorsque vous travaillez avec des éléments dans UpdatePanels à l'aide de jQuery, en vous appuyant uniquement sur $( La liaison d’événement document).ready peut être insuffisante. Lors de mises à jour partielles de page, ces gestionnaires d'événements ne fonctionneront plus dans la zone mise à jour.

Approche recommandée

Pour résoudre ce problème, envisagez l'approche suivante :

Liaison initiale avec $(document).ready :
Liez les gestionnaires d'événements aux éléments pertinents lors de la première chargement de la page à l'aide de $(document).ready.

Réabonnement sur Page Request Manager :
Abonnez-vous à l'événement endRequest de PageRequestManager de Microsoft. Cet événement se déclenche après des mises à jour partielles de la page. Dans le gestionnaire d'événements, reliez les gestionnaires d'événements jQuery aux éléments maintenant mis à jour.

Cet extrait montre l'approche :

$(document).ready(function() {
    // Initial binding
});

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_endRequest(function() {
    // Re-binding
});

Approche alternative

Vous pouvez également envisager d'utiliser la méthode .on() de jQuery, qui est plus efficace que le réabonnement. Cependant, évaluez soigneusement cette approche pour vous assurer qu’elle correspond à vos besoins spécifiques. Reportez-vous à la documentation jQuery pour plus de détails sur .on() :

  • https://api.jquery.com/on/

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn