Supposons que je dispose d'un code jQuery qui associe un gestionnaire d'événements à tous les éléments de la classe .myclass
.
Par exemple :
$(function(){
$(".myclass").click( function() {
// do something
});
});
Et mon code HTML pourrait être le suivant :
<a class="myclass" href="#">test1</a>
<a class="myclass" href="#">test2</a>
<a class="myclass" href="#">test3</a>
Cela fonctionne sans problème. Cependant, il faut se demander si le .myclass
ont été inscrits sur la page à un moment ultérieur.
Par exemple :
<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>
Dans ce cas, le test4
est créé lorsqu'un utilisateur clique sur a#anchor1
.
En test4
n'a pas le lien click()
qui lui est associé, même s'il a un class="myclass"
.
En fait, je voudrais écrire le click()
une seule fois et l'appliquer à la fois au contenu présent lors du chargement de la page et au contenu apporté ultérieurement par l'intermédiaire de AJAX / DHTML . Une idée sur la façon de résoudre ce problème ?