Si je comprends bien votre exigence, une façon de le faire est avec le plug-in Live Query.
... Recherche en direct a la capacité de tirer une fonction (rappel) quand il correspond à un nouvel élément et une autre fonction (rappel) quand un élément est pas plus adapté
Par exemple:
$('#someRegion a').livequery(function(){
do_something();
});
Mise à jour: Étant donné que les modifications DOM ne sont pas exécutées via jQuery, malheureusement, livequery ne les voit pas. J'ai réfléchi à ce problème avant et considéré une solution basée sur l'interrogation dans
this answer.
Mise à jour: L'interrogation est un peu moche, mais s'il n'y a vraiment pas d'autre alternative, voici une solution basée sur l'interrogation qui utilise une manipulation "fictive" de jQuery pour voir "voir" le changement. Vous voudriez seulement considérer quelque chose comme ceci en dernier recours - s'il n'y a aucune option pour lier dans une méthode de rappel.
Tout d'abord, mis en place livequery regarder le conteneur dans lequel les mises à jour auront lieu:
$('div#container').livequery(function(){
$(this).css('color','red'); // do something
});
Et puis utilisez setInterval()
, enveloppée dans une fonction pratique:
function pollUpdate($el, freq){
setInterval(function(){
$el.toggleClass('dummy');
}, freq);
};
vous pouvez avoir:
$(document).ready(function(){
pollUpdate($('div#container'), 500);
});
Voici un working example.Cliquez sur le bouton pour ajouter de nouveaux éléments DOM sans jQuery, et vous verrez qu'ils sont récupérés (éventuellement) et redéfinis par livequery. Pas joli, mais ça marche.
Updatepanel ne déclenche aucun événement ou offre des rappels auxquels vous pouvez vous connecter? – Magnar