Wenn ich Ihre Anforderung richtig verstanden hat, eine Möglichkeit, dies mit dem Live Query Plug-in zu tun ist.
Live-Abfrage ... hat die Fähigkeit, eine Funktion (Callback) ausgelöst, wenn sie paßt ein neues Element und eine andere Funktion (Rückruf) für, wenn ein Element ist keine abgestimmt mehr
Zum Beispiel:
$('#someRegion a').livequery(function(){
do_something();
});
Update: Da die DOM-Änderungen nicht über jQuery laufen, werden sie von der Live-Abfrage leider nicht angezeigt. Ich habe das Thema schon einmal angeschaut und eine Lösung auf der Basis von Umfragen in Erwägung gezogen:
this answer.
Update: Polling ist irgendwie hässlich, aber wenn es wirklich keine andere Alternative gibt, hier ist eine Abfrage-basierte Lösung, die eine jQuery "Dummy" -Manipulation verwendet, um Live-Abfrage "sehen" die Änderung. Sie sollten nur so etwas als letzten Ausweg betrachten - wenn es keine Möglichkeit gibt, sich an eine Callback-Methode zu binden.
Zuerst einrichten livequery die Behälter zu beobachten, wo das Updates auftreten:
$('div#container').livequery(function(){
$(this).css('color','red'); // do something
});
Und dann setInterval()
verwenden, hier in einer Komfortfunktion eingewickelt:
function pollUpdate($el, freq){
setInterval(function(){
$el.toggleClass('dummy');
}, freq);
};
So können Sie haben:
$(document).ready(function(){
pollUpdate($('div#container'), 500);
});
Hier ist ein working example.Klicken Sie auf die Schaltfläche, um neue DOM-Elemente ohne jQuery hinzuzufügen, und Sie werden sehen, dass sie (schließlich) abgeholt und durch Live-Abfrage neu gestaltet werden. Nicht schön, aber es funktioniert.
Updatepanel löst keine Ereignisse aus oder bietet Rückrufe an, in die Sie sich einklinken können? – Magnar