У моєму додатку динамічно додаються спадні файли. Користувач може додати стільки, скільки потрібно.
Я традиційно використовував live()
метод jQuery, щоб виявити, коли одна з цих спадних файлів була change()
відредагована:
$('select[name^="income_type_"]').live('change', function() {
alert($(this).val());
});
Станом на jQuery 1.7, я оновив це до:
$('select[name^="income_type_"]').on('change', function() {
alert($(this).val());
});
Дивлячись на Документи, це повинно бути абсолютно дійсним (правда?) - але обробник подій ніколи не запускає. Звичайно, я підтвердив, що jQuery 1.7 завантажується і працює тощо. У журналі помилок немає помилок.
Що я роблю неправильно? Дякую!
live
насправді використовуєтьсяon
, тому перезапис застарілого коду може знадобитися лише до тих пір, покиlive
не буде видалено, що, на мою думку, становить 1.9. Витяг з 1.7.1 джерела:live: function( types, data, fn ) {jQuery( this.context ).on( types, this.selector, data, fn ); return this;}
Отже, якщо неlive
переходить до версії, в якій немає, оновлення може не знадобитися відразу для застарілого коду. Для нового курсу відключення курсуon()
замість цього рекомендується. Я просто думав, що ця інформація може допомогти комусь іншому на якомусь етапі.