В мое приложение динамически добавляются выпадающие списки. Пользователь может добавить столько, сколько ему нужно.
Я традиционно использовал 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()
вместо этого, как рекомендуется. Я просто думал, что эта информация может помочь кому-то еще на каком-то этапе.