Tentando descobrir como usar o método Jquery .on () com um seletor específico que possui vários eventos associados a ele. Eu estava usando o método .live () anteriormente, mas não tinha muita certeza de como realizar o mesmo feito com .on (). Por favor, veja meu código abaixo:
$("table.planning_grid td").live({
mouseenter:function(){
$(this).parent("tr").find("a.delete").show();
},
mouseleave:function(){
$(this).parent("tr").find("a.delete").hide();
},
click:function(){
//do something else.
}
});
Eu sei que posso atribuir os vários eventos chamando:
$("table.planning_grid td").on({
mouseenter:function(){ //see above
},
mouseleave:function(){ //see above
}
click:function(){ //etc
}
});
Mas acredito que o uso adequado de .on () seria assim:
$("table.planning_grid").on('mouseenter','td',function(){});
Existe uma maneira de conseguir isso? Ou qual é a melhor prática aqui? Eu tentei o código abaixo, mas não há dados.
$("table.planning_grid").on('td',{
mouseenter: function(){ /* event1 */ },
mouseleave: function(){ /* event2 */ },
click: function(){ /* event3 */ }
});
Desde já, obrigado!
javascript
jquery
jquery-selectors
jquery-1.7
butangphp
fonte
fonte
$("table.planning_grid td")
?<table>
lugar de cada indivíduo<td>
elemento, que é realmente o caminho certo a seguir.<table>
lugar de um manipulador por<td>
elemento torna-se obrigatório para obter um desempenho utilizável..bind
e.live
. Boa resposta, exatamente o que eu estava procurando: D @ Frédéric - Seu link não está mais vinculado a um cabeçalhoid
na página jquery docs. Provavelmente resultado de documentação atualizada. Mas não consegui encontrar esta resposta nessa página.Além disso, se você tiver vários manipuladores de eventos conectados ao mesmo seletor executando a mesma função, poderá usar
fonte
Se você deseja usar a mesma função em eventos diferentes, o seguinte bloco de código pode ser usado
fonte
Aprendi algo realmente útil e fundamental a partir daqui .
funções de encadeamento é muito útil nesse caso, que funciona na maioria das funções do jQuery, incluindo também na saída da função.
Funciona porque a saída da maioria das funções do jQuery são os conjuntos de objetos de entrada, para que você possa usá-los imediatamente e torná-los mais curtos e inteligentes
fonte
E você pode combinar os mesmos eventos / funções desta maneira:
fonte
Tente com o seguinte código:
fonte