Ho questo semplice codice. http://jsfiddle.net/borth/BmEZv/ Se si fa clic sul collegamento una volta, funziona correttamente. Se fai clic su di esso una seconda volta, non funziona. A causa del caricamento del codice HTML in html dopo il caricamento del DOM, ho provato. On, .bind, .delegate e .live. Nessuno di loro funziona eccetto per .live che viene deprecato (sto usando jquery 1.7.2).Alternativa a jquery live che può funzionare
Qualcuno può spiegare perché .live è l'unica funzione che funziona e perché gli altri non funzionano (o se sto facendo qualcosa di sbagliato con le altre funzioni).
$(document).ready(function(){
$(".OpenPopup").bind('click', function(e){
alert('test .OpenPopup');
// do something
return false;
});
$(".EditIcon").bind('click', function(){
alert('test .EditIcon');
// do something
$("#ABC").html('<div class="EditIcon OpenPopup" pwidth="800" pheight="500" ptitle="EditText">click here again</div>');
});
});
<div id="ABC"><div class="EditIcon OpenPopup" pwidth="800" pheight="500" ptitle="EditText">click here</div></div>
'.On' è la sostituzione ufficiale per' .Live' –
leggere la documentazione Domande frequenti jQuery per risposta a 'why' – charlietfl
ho preso a lavorare con .on(). Ho avuto la sintassi sbagliata. –