Ho cercato sul Web ma non ho trovato alcuna risposta poiché questo "problema" non è il solito sulla differenza tra .on() e .click(). Con jquery 2.1.3 la funzione clic è una funzione abbreviata per on.("click", handler)
quindi dovrebbe attivare una funzione (o wathever) dopo che la dom è stata modificata. Ma funziona solo se uso .on(). Perché? (Esempio di seguito).click() non riesce dopo il cambio dom
$('#button1').click(function() {
$('div').html("<p id="button2">Hello</p>");
});
$('#button2').click(function() {
alert(0); //THIS DOESN'T WORK
});
$(body).on("click", "#button2", function() {
alert(0); //THIS WORKS!
});
Anche se si tratta di un 'on (evento, gestore)', si sta ancora collegando a '$ ('# button2')' che non esiste ancora; ecco perché c'è 'on (event, selector, handler)' –
Si dovrebbe usare 'on' per gli elementi creati dinamicamente. – hamed
@hamed puoi anche usare 'click', ma non avrai la corrispondenza del selettore: http://jsbin.com/cifomehula/2/edit –