Comment faire pour avoir un javascript de rappel exécutée après une mise à jour du panneau de publication?
Je suis en utilisant une astuce jQuery plugin pour afficher des bulles d'aide lorsque l'utilisateur place le pointeur de certains éléments de la page.
J'ai besoin d'enregistrer le plugin événements après le chargement de la page à l'aide de sélecteurs css.
Le problème est que je suis en utilisant un ASP.NET Panneau de mise à Jour et après la première publication, les conseils d'arrêter de travailler parce que le panneau de mise à jour remplace le contenu de la page, mais ne pas relier les événements javascript.
J'ai besoin d'un moyen d'exécuter un javascript de rappel après le Panneau de mise à Jour actualise son contenu, de sorte que je peux relier les événements javascript pour avoir des conseils pratiques de travail à nouveau.
Est-il possible de faire cela?
Vous devez vous connecter pour publier un commentaire.
Au lieu de mettre votre code jQuery à l'intérieur de
$(document).ready()
, le mettre à l'intérieurpageLoad
est exécuté après chaque publication, synchrone ou asynchrone.pageLoad
est réservé le nom de la fonction ASP.NET AJAX c'est pour ce but.$(document).ready()
d'autre part, est exécutée qu'une seule fois, lorsque le DOM est d'abord prêt/chargé.Voir ce Vue d'ensemble de ASP.NET AJAX client événements de cycle de vie
Sys.Webforms...
travail pour moi? Ai-je raté un script ou quelque chose? Oui, je met le script dans<head>
mais scriptmanager est laoded dans<body>
!? - J'ai juste besoin de déplacer mon balise de script en bas de la page et ça a fonctionné. PS - je n'ai jamais su à propos de ce JS Crochet.La pageLoad n'a pas fonctionné. J'ai utilisé ceci à la place:
Ce n'est sans doute pas la solution la plus élégante, mais son une solution néanmoins:
L'utiliser comme ceci:
Bien sûr, vous aurez besoin d'enregistrer le contrôle personnalisé dans youre webconfig ou de la page à utiliser de la sorte.
Edit: aussi, avez-vous regardé jquery.live?
Si vous voulez faire des opérations spécifiques avant et après l'UpdatePanel est chargé, vous pouvez remplacer
BeginPostbackRequest
etEndPostbackRequest
comme suit:Ce qui est très pratique si vous voulez traiter seul le code HTML qui a été délivré par le panneau de mise à jour. Certaines opérations nécessitent plus de ressources, et il serait exagéré de traiter l'ensemble de l'arborescence du DOM sur
pageLoad
.Utilisation pageLoaded de l'événement et de vérifier si de rappel ou de la publication: