0
votes

JQuery créer un élément et exécuter la fonction sur le clic

Pour un projet Web, j'utilise JQuery. Dans une partie du code, des données sont ajoutées de manière dynamique à l'écran du côté client en fonction de l'activité d'autres utilisateurs connectés au serveur. Je veux écrire un code qui me permettra d'exécuter une fonction lorsqu'un client clique sur les données.

Pour élaborer un peu, il existe une liste qui montre quels membres sont en ligne. Lorsqu'un nouveau client se connecte, son nom est ajouté à la liste et tous les autres utilisateurs peuvent voir sur leur écran qu'il est en ligne. Lorsqu'un autre utilisateur clique sur son nom, il envoie une demande de message.

Ceci est le code jQuery pertinent: xxx

et la fonction d'acceptation est définie sous Ce bloc qui est dans une autre fonction, de sorte que xxx

Cependant, lorsque le code exécute, je reçois une erreur indiquant que accepter () n'est pas défini

Comment puis-je résoudre ce problème?


1 commentaires

4 Réponses :


1
votes

Peut-être que vous pouvez le faire de cette façon ... XXX

J'ai fait un petit codépen pour vous permettre de voir le code en action https://codesandbox.io/embed/frosty-jang-fvk3j


1 commentaires

Cela a fonctionné. Cependant, le onclick = 'accepter ()' donne toujours une erreur indiquant qu'il n'est pas défini. Donc, j'ai enlevé cette partie seulement, et cela fonctionnait bien. Donc, le code est maintenant $ ('# inc'). Ajoutez ("
" + data.plr + "
") $ ('# Inc i: dernier-enfant'). Cliquez sur (Accepter); Merci beaucoup pour l'aide



1
votes

Je l'ai toujours fait de cette façon. Je trouve cela plus facile.

$('#inc').append("<br><i class="child">"+data.plr+"<i><br>")

$('.child').on("click",function(){
//your code here
});


0 commentaires

1
votes

Vous pouvez aussi le faire de cette façon:

jQuery(function(){
      click_link = $('<a class="" href="#">Click here</a>');
      click_link .bind("click", function(){
        alert('DO something');
      });

      $('.your_dom').append(click_link );
    });


0 commentaires

1
votes

Ecrivez-le à l'aide de méthodes de jQuery: xxx

https: // API .jquery.com / Cliquez /


0 commentaires