Meu aplicativo adicionou Dropdowns dinamicamente. O usuário pode adicionar quantos forem necessários.
Tradicionalmente, eu estava usando o live()
método do jQuery para detectar quando um desses menus suspensos foi change()
ed:
$('select[name^="income_type_"]').live('change', function() {
alert($(this).val());
});
No jQuery 1.7, atualizei isso para:
$('select[name^="income_type_"]').on('change', function() {
alert($(this).val());
});
Olhando para o Documentos, isso deve ser perfeitamente válido (certo?) - mas o manipulador de eventos nunca é acionado. Obviamente, confirmei que o jQuery 1.7 está carregado e em execução, etc. Não há erros no log de erros.
O que estou fazendo de errado? Obrigado!
live
está realmente sendo usado deon
qualquer maneira, portanto, uma reescrita do código legado talvez ainda não seja necessária atélive
que seja removida, o que acredito ser 1.9. Trecho da fonte 1.7.1:live: function( types, data, fn ) {jQuery( this.context ).on( types, this.selector, data, fn ); return this;}
Portanto, se alguém não estiver atualizando para uma versão em quelive
se foi, uma atualização pode não ser necessária imediatamente para o código legado. Para um novo código fora do curso, use oon()
recomendado. Eu apenas pensei que esta informação poderia ajudar alguém em algum momento.