Sto usando jQuery v.1.7.1 in cui il metodo .live () è apparentemente deprecato.
Il problema che sto riscontrando è che quando si carica in modo dinamico html in un elemento usando:
$('#parent').load("http://...");
Se provo ad aggiungere un evento click in seguito, non registra l'evento usando uno di questi metodi:
$('#parent').click(function() ...);
o
// according to documentation this should be used instead of .live()
$('#child').on('click', function() ...);
Qual è il modo corretto per ottenere questa funzionalità? Sembra funzionare solo con .live () per me, ma non dovrei usare quel metodo. Nota che #child è un elemento caricato dinamicamente.
Grazie.
.live()
ti dice come riscrivere gli usi esistenti .live()
da usare .delegate()
o .on()
(a seconda che tu sia nella versione 1.7+ o meno). Si noti tuttavia che se si aggiunge un gestore con .click()
"after" come indicato, vale a dire, dopo aver caricato dinamicamente gli elementi, dovrebbe funzionare - l'unico problema è provare ad assegnare con .click()
prima di caricare dinamicamente gli elementi.