Je veux lier un événement onclick à un élément que j'insère dynamiquement avec jQuery.
Mais il n'exécute jamais la fonction liée. Je serais heureux si vous pouviez m'indiquer pourquoi cet exemple ne fonctionne pas et comment je peux le faire fonctionner correctement :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da">
<head>
<title>test of click binding</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
jQuery(function(){
close_link = $('<a class="" href="#">Click here to see an alert</a>');
close_link.bind("click", function(){
alert('hello from binded function call');
//do stuff here...
});
$('.add_to_this').append(close_link);
});
</script>
</head>
<body>
<h1 >Test of click binding</h1>
<p>problem: to bind a click event to an element I append via JQuery.</p>
<div class="add_to_this">
<p>The link is created, then added here below:</p>
</div>
<div class="add_to_this">
<p>Another is added here below:</p>
</div>
</body>
</html>
EDIT : J'ai modifié l'exemple pour qu'il contienne deux éléments dans lesquels la méthode est insérée. Dans ce cas, le alert()
n'est jamais exécuté. (merci à @Daff de l'avoir signalé dans un commentaire)
1 votes
Votre page d'exemple fonctionne correctement lorsque je l'ai testée avec FF 3.5.
0 votes
@Daff Malheureusement, vous avez raison ! J'ai donc apparemment extrait la partie de mon code qui fonctionne réellement. Merci de me l'avoir fait remarquer !
0 votes
@Daff, j'ai modifié l'exemple pour qu'il contienne deux endroits où insérer la méthode. Ensuite, il vraiment a cessé de fonctionner :)