La mia applicazione ha aggiunto dinamicamente i menu a discesa. L'utente può aggiungerne quanti ne hanno bisogno.
Tradizionalmente utilizzavo il live()
metodo di jQuery per rilevare quando è stato editato uno di questi Dropdown change()
:
$('select[name^="income_type_"]').live('change', function() {
alert($(this).val());
});
A partire da jQuery 1.7, ho aggiornato questo a:
$('select[name^="income_type_"]').on('change', function() {
alert($(this).val());
});
Guardando Docs, dovrebbe essere perfettamente valido (giusto?) - ma il gestore dell'evento non spara mai. Naturalmente, ho confermato che jQuery 1.7 è caricato e in esecuzione, ecc. Non ci sono errori nel registro degli errori.
Che cosa sto facendo di sbagliato? Grazie!
live
stia effettivamente usandoon
comunque, quindi una riscrittura del codice legacy potrebbe non essere ancora necessaria finolive
a quando non verrà rimossa, che credo sia 1.9. Estratto dalla fonte 1.7.1:live: function( types, data, fn ) {jQuery( this.context ).on( types, this.selector, data, fn ); return this;}
Quindi, se non si sta eseguendo l'aggiornamento a una versione in cuilive
è sparito, potrebbe non essere necessario un aggiornamento immediato per il codice legacy. Per il nuovo codice fuori rotta usareon()
invece è come raccomandato. Ho solo pensato che queste informazioni potrebbero aiutare qualcun altro a un certo punto.