Estoy usando el siguiente código jquery para mostrar un botón de eliminación contextual solo para las filas de la tabla que estamos pasando con nuestro mouse. Esto funciona pero no para las filas que se han agregado con js / ajax sobre la marcha ...
¿Hay alguna manera de hacer que esto funcione con eventos en vivo?
$("table tr").hover(
function () {},
function () {}
);
jquery
live
jquery-1.4
Jorre
fuente
fuente
live
: api.jquery.com/live.live
, dice usar.on
en su lugar. "A partir de jQuery 1.7, el método .live () está en desuso. Use .on () para adjuntar controladores de eventos".http://api.jquery.com/live/
fuente
.live
está en desuso ahora, vea la respuesta de Andre para el método de reemplazo ahora.mouseover
ymouseout
eventos aquí hará que el código se active continuamente a medida que el usuario mueve el mouse dentro del elemento. Creomouseenter
y soymouseleave
más apropiado ya que solo se disparará una vez al entrar..live()
ha quedado en desuso a partir de jQuery 1.7Use en su
.on()
lugar y especifique un selector descendientehttp://api.jquery.com/on/
fuente
A partir de jQuery 1.4.1, el evento hover funciona con
live()
. Básicamente solo se une a los eventos mouseenter y mouseleave, lo que también puede hacer con versiones anteriores a 1.4.1:Esto requiere dos enlaces pero funciona igual de bien.
fuente
Este código funciona:
fuente
ADVERTENCIA: Hay una penalización de rendimiento significativa con la versión en vivo de hover. Es especialmente notable en una página grande en IE8.
Estoy trabajando en un proyecto donde cargamos menús de varios niveles con AJAX (tenemos nuestras razones :). De todos modos, utilicé el método en vivo para el vuelo estacionario que funcionó muy bien en Chrome (IE9 funcionó bien, pero no genial). Sin embargo, en IE8 no solo redujo la velocidad de los menús (tenía que pasar el mouse por unos segundos antes de que cayera), sino que todo en la página era extremadamente lento, incluido el desplazamiento e incluso marcar casillas de verificación simples.
La vinculación de los eventos directamente después de la carga dio como resultado un rendimiento adecuado.
fuente