Intentando descubrir cómo usar el método Jquery .on () con un selector específico que tiene múltiples eventos asociados. Anteriormente estaba usando el método .live (), pero no estoy muy seguro de cómo lograr la misma hazaña con .on (). Por favor vea mi código abajo:
$("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.
}
});
Sé que puedo asignar varios eventos llamando:
$("table.planning_grid td").on({
mouseenter:function(){ //see above
},
mouseleave:function(){ //see above
}
click:function(){ //etc
}
});
Pero creo que el uso adecuado de .on () sería así:
$("table.planning_grid").on('mouseenter','td',function(){});
¿Hay alguna manera de lograr esto? ¿O cuál es la mejor práctica aquí? Probé el código a continuación, pero sin dados.
$("table.planning_grid").on('td',{
mouseenter: function(){ /* event1 */ },
mouseleave: function(){ /* event2 */ },
click: function(){ /* event3 */ }
});
¡Gracias por adelantado!
javascript
jquery
jquery-selectors
jquery-1.7
butangphp
fuente
fuente
$("table.planning_grid td")
?<table>
lugar de cada<td>
elemento individual , que de hecho es el camino correcto.<table>
lugar de un controlador por<td>
elemento para lograr un rendimiento utilizable..bind
y.live
. Buena respuesta, justo lo que estaba buscando: D @ Frédéric: su enlace ya no enlaza con un encabezadoid
en la página de jquery docs. Probablemente el resultado de la documentación actualizada. Pero no pude encontrar esta respuesta en esa página.Además, si tuviera varios controladores de eventos conectados al mismo selector que ejecutara la misma función, podría usar
fuente
Si desea usar la misma función en diferentes eventos, puede usar el siguiente bloque de código
fuente
Aprendí algo realmente útil y fundamental desde aquí .
encadenamiento de funciones es muy útil en este caso, que funciona en la mayoría de las funciones de jQuery incluidos en salida de la función también.
Funciona porque la salida de la mayoría de las funciones de jQuery son los conjuntos de objetos de entrada para que pueda usarlos de inmediato y hacerlo más corto e inteligente
fuente
Y puede combinar los mismos eventos / funciones de esta manera:
fuente
Pruebe con el siguiente código:
fuente