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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top