Cliquez sur événement n'a pas de feu pour les lignes de la table ajoutés dynamiquement
J'ai une table vide à laquelle je suis en ajoutant les lignes via jQuery en utilisant:
$('#table > tbody:last').append('<tr id="' + symbol.Code1 + '"><td>' + symbol.Code1 + '</td><td>' + symbol.Code2+ '</td><td>' + symbol.Code3+ '</td></tr>');
Tout est OK mais quand je mettre en œuvre:
$("#table tr").click(function(e) {
alert(this.id);
});
rien ne se passe.
OriginalL'auteur user1770849 | 2012-10-24
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin événement délégation vous pouvez utiliser sur de lier l'événement de clic pour ajouter dynamiquement des éléments. La façon dont vous êtes en liaison avec sur a appliquer sur l'élément existant mais pas les éléments qui sont ajoutés par la suite.
Vous pouvez limiter la portée de
on
en donnant le plus proche parent du sélecteur soit par id ou par classe de parent.Délégué événements
document
oubody
en tant que parent sélecteur, car il rend l'événement de réaction plus lent. Il est préférable d'utiliser le plus proche statique parent.Merci @VisioN, de la mise à jour de ma réponse à votre suggession.
Merci pour la réponse. J'ai passé des heures à me gratter la tête à propos de problème similaire
ENFIN, quelqu'un a répondu à la question que je cherchais. J'ai eu exactement le même problème.
ne peut pas comprendre pourquoi il ne fonctionne pas pour moi
OriginalL'auteur Adil
Vous devez utiliser le
.on
méthodeOriginalL'auteur Matei Mihai
Vous ajoutez des lignes dynamiquement après avoir lié l'événement à la existant. Vous pouvez utiliser délégué de l'événement approche pour résoudre le problème:
OriginalL'auteur VisioN
OriginalL'auteur khalid khuz nain