A biblioteca jQuery permite registrar eventos utilizando os seguintes métodos: bind, live, delegate, on. Você sabe quando e onde utilizar? Conhece a diferença entre eles?
Se ainda, não conhece sugerimos a leitura deste artigo.
BIND
| |
Registra os eventos nos elementos selecionados pela biblioteca jQuery. Permite registrar apenas os elementos que se encontram no DOM inicialmente, ou seja, se você cria elementos usando javascript, ajax.. o bind não irá funcionar.
Veja o que diz a documentação oficial do jQuery sobre o bind.
LIVE
| |
Registra os eventos nos elementos selecionados pela biblioteca jQuery, diferentemente do bind (citado acima), o live permite registrar eventos para os elementos que serão carregados através de ajax ou javascript. O negativo dessa abordagem é o desempenho, este método está deprecado e seu uso não é aconselhado pela documentação.
Veja o que diz a documentação oficial do jQuery sobre o live.
DELEGATE
| |
O método delegate é semelhante ao live (citado acima), pois os elementos que são criados após o carregamento da página também respondem aos eventos. A diferença é que este não utiliza o document como elemento raiz, você mesmo escolhe o elemento raiz, casando-o com o seletor. Assim sendo, é clara a vantagem em desempenho deste método.
Veja o que diz a documentação oficial do jQuery sobre o delegate.
ON
| |
Se você utiliza uma versão do jQuery superior a 1.7, deverá utilizar sempre o método on (ele surgiu para substituir todas as outras funções), para as versões anteriores recomenda-se o uso do bind e delegate, como acabamos de ver.
Veja o que diz a documentação oficial do jQuery sobre o on.
É isso galera, se tiverem alguma dúvida quanto a utilização desses métodos ou algo a acrescentar deixe um comentário, ficaremos felizes em lhe responder.
REFERÊNCIAS