Moja aplikacja dynamicznie dodała menu rozwijane. Użytkownik może dodać tyle, ile potrzebuje.
Tradycyjnie używałem live()metody jQuery do wykrywania, kiedy edowano jedno z tych rozwijanych menu change():
$('select[name^="income_type_"]').live('change', function() {
alert($(this).val());
});
Od jQuery 1.7 zaktualizowałem to do:
$('select[name^="income_type_"]').on('change', function() {
alert($(this).val());
});
Patrząc na Dokumenty, powinno to być całkowicie poprawne (prawda?) - ale moduł obsługi zdarzeń nigdy nie odpala. Oczywiście potwierdziłem, że jQuery 1.7 jest załadowany i działa itp. W dzienniku błędów nie ma błędów.
Co ja robię źle? Dzięki!
livetak używaon, więc ponowne zapisanie starszego kodu może nie być jeszcze potrzebne, dopókilivenie zostanie usunięte, co moim zdaniem wynosi 1,9. Fragment źródła 1.7.1:live: function( types, data, fn ) {jQuery( this.context ).on( types, this.selector, data, fn ); return this;}Jeśli więc nie przeprowadzasz aktualizacji do wersji, w którejlivejuż nie ma aktualizacji, aktualizacja starszego kodu może nie być potrzebna od razu. W przypadku nowego kodu użycie oczywiścieon()jest zamiast tego zalecane. Pomyślałem, że ta informacja może pomóc komuś innemu na pewnym etapie.