2014-09-11 5 views
0

Je ne peux pas déclencher l'alerte lorsqu'un bouton généré dynamiquement est cliqué?Alerte lorsque vous cliquez sur le bouton dynamique

L'alerte ne sera pas la dernière fonction mais un test pour s'assurer que le déclencheur fonctionne correctement.

J'ai essayé une fonction "onclick" comme déclencheur et j'ai utilisé l'ID comme un déclencheur jquery donc je ne sais pas pourquoi cela ne fonctionnerait pas, je vais ajouter un extrait ci-dessous qui montre ce que je veux dire.

tous les pointeurs seraient très appréciés car je suis sûr que c'est quelque chose de simple qui me manque.

A partir du fichier qui génère et affiche le bouton (il affiche ok)

var modOptsMsg = document.getElementById("modOptionsMessage").value + '<input type="button" id="removePost" onclick="removePost()" value="Remove Post"/>'; 

$("#modOptsShowMsg").empty().append(modOptsMsg); 

Aucune de ces tests simples fonctionnent js ou jquery

function removePost(){ 
    alert("alert"); 
} 
$('#removePost').click(function(){ 
    alert("alert"); 
}); 

Merci à l'avance.

+1

Avant que la question soit fermée en double: elle devrait être '$ (document) .on (" clic "," #removePost ", function() {alert (" alerte ");});' – Regent

+0

jquery version ?? –

+0

@regent merci! Je savais que je venais de le regarder à long et en ce qui concerne le double, je l'ai posté une seule fois? – Parody

Répondre

1

Comme @Regent a souligné dans les commentaires, utilisez:

$(document).on("click", '#removePost', function() { 
    alert("alert"); 
}); 
-2
$('#modOptsShowMsg').on("click", '#removePost', function() { 
    alert("alert"); 
}); 

le code ci-dessus work..if jquery est inférieure à 1,7 utilisation .live() au lieu de .on()

+1

cela ne déléguera pas d'événement et suppose que cet élément existe quand le code est exécuté. EST pas différent que d'utiliser 'click()' qui est simplement un shortand pour 'sur ('clic' ..' – charlietfl

+0

yup .. c'est un miss, maintenant édité. –

Questions connexes