Angenommen, ich habe einige jQuery-Code, der ein Ereignis-Handler für alle Elemente mit Klasse anhängt .myclass
.
Zum Beispiel:
$(function(){
$(".myclass").click( function() {
// do something
});
});
Und mein HTML könnte folgendermaßen aussehen:
<a class="myclass" href="#">test1</a>
<a class="myclass" href="#">test2</a>
<a class="myclass" href="#">test3</a>
Das funktioniert ohne Probleme. Überlegen Sie aber, ob die .myclass
Elemente zu einem späteren Zeitpunkt auf die Seite geschrieben wurden.
Zum Beispiel:
<a id="anchor1" href="#">create link dynamically</a>
<script type="text/javascript">
$(function(){
$("#anchor1").click( function() {
$("#anchor1").append('<a class="myclass" href="#">test4</a>');
});
});
</script>
In diesem Fall ist die test4
Link wird erstellt, wenn ein Benutzer auf a#anchor1
.
El test4
Link hat nicht die click()
Handler zugeordnet, auch wenn er über class="myclass"
.
Grundsätzlich würde ich gerne die click()
Handler einmal zu verwenden und ihn sowohl auf Inhalte anzuwenden, die beim Laden der Seite vorhanden sind, als auch auf Inhalte, die später über AJAX/DHTML . Haben Sie eine Idee, wie ich das beheben kann?