Ao usar jQuery para conectar um manipulador de eventos, há alguma diferença entre usar o método click
$().click(fn)
versus usar o método de ligação
$().bind('click',fn);
Diferente do parâmetro de dados opcional de bind.
javascript
jquery
event-handling
Alan Storm
fonte
fonte
Respostas:
Por que vale a pena, da fonte jQuery :
Então não, não há diferença -
chamadas
fonte
click()
é basicamente uma abreviação parabind('click')
(ou, nos dias de hoje, ele realmente chamaon('click')
. A meu ver, você também pode economizar aquela chamada de função extra usandoon('click')
diretamente.+1 para a resposta de Matthew, mas acho que deveria mencionar que você também pode vincular mais de um manipulador de eventos de uma vez usando
bind
que é muito mais limpo equivalente a:
fonte
Há uma diferença em que você pode vincular eventos personalizados usando o segundo formulário que você tem. Caso contrário, eles parecem ser sinônimos. Veja: jQuery Event Docs
fonte
Existe o parâmetro [data] de ligação que ocorrerá apenas no tempo de ligação, uma vez.
Você também pode especificar eventos personalizados como o primeiro parâmetro de ligação.
fonte
Acho que .click () é muito mais lógico, mas acho que é como você pensa as coisas.
Parece ser o mais simples possível.
fonte
Se você tem o Google Chrome, suas ferramentas de desenvolvedor têm uma ferramenta de escuta de eventos, selecione o elemento que deseja espionar seu evento.
Você descobrirá que tentar as duas maneiras leva ao mesmo resultado, portanto, elas são equivalentes.
fonte
Eu prefiro .bind () por causa de sua consistência de interface com .live () . Isso não apenas torna o código mais legível, mas torna mais fácil alterar uma linha de código para usar um método em vez de outro.
fonte