Como vincular alguma função ao elemento não existente?
-
05-07-2019 - |
Pergunta
Meu problema: depois de carregar algum elemento via Ajax, vinculei alguma função no clique, mas quando o usuário carregará algumas vezes o mesmo elemento, a ação binted será repetida (não substituir, pelo menos se parece). eu tentei unbind
, ou click(function(){return false;});
mas essa ação completa remove clic do elemento ...). Qual é a solução padrão desse tipo de problema?
Solução
Para a maioria dos eventos que você pode usar live()
(jQuery 1.3+):
$("td").live("click", function() {
// do stuff
});
Isso vinculará um evento de clique a <td>
Elementos que surgem depois de executar esse código também.
Esta é uma solução muito mais limpa do que tentar vincular/desligar e garantir que você não tenha o mesmo evento ligado duas vezes a um elemento específico.
Outras dicas
Se você estiver usando o jQuery 1.3.2, você pode usar $('').live('click', function() {});
Ter quaisquer elementos que correspondam a esse seletor têm a ação. Ele mantém o evento até mesmo com novos elementos.