Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Eventos que tardan en dispararse

Estas en el tema de Eventos que tardan en dispararse en el foro de Jquery en Foros del Web. Hola, Me he encontrado con algo muy molesto y no se a que se debe, sobre todo en los eventos mouseover y mouseout con jquery ...
  #1 (permalink)  
Antiguo 09/01/2016, 20:55
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 7 meses
Puntos: 10
Eventos que tardan en dispararse

Hola,

Me he encontrado con algo muy molesto y no se a que se debe, sobre todo en los eventos mouseover y mouseout con jquery ( tambien si uso mouseenter y mouseleave )

Se trata de unos botones al que estoy enlazando dichos eventos con metodo on() cambiando el estilo cuando el mouse pasa sobre ellos.

Al cargar primera vez la pagina ... todo va bien ... los estilos cambian al hacer mouseover y mouseout ... pero despues de hacer algunos clicks sobre los botones al azar ( una decena de clicks ) ... los eventos mouseenter y mouseleave empiezan a tardar ... o sea los estilos cambian pero no enseguida ... pasa como casi medio segundo .... y con el tiempo llega a un segundo de retraso.

No puedo poner el codigo aqui ya que fuera del contexto ... del proyecto ... he probado y no hay este retraso ...

Asi que pregunto por si a caso alguien se ha encontrado con algo parecido y me podria dar algun consejo.

tambien he puesto :
Código Javascript:
Ver original
  1. event.preventDefault();
  2. event.stopPropagation();

pero sigue igual

Gracias
  #2 (permalink)  
Antiguo 10/01/2016, 11:03
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Eventos que tardan en dispararse

La culpa lo tenia un trigger

para dar la sensación que el botón se esta pulsando en el evento mousedown tenia (entre otros)
Código:
transform: 'translate(2,2)'
y en el mouseup .. para que volviese al estado original tenia
Código:
transform: 'translate(0,0)'
luego en el evento mouseleave hacia una llamada al mouseup para no escribir otra vez el css
Código Javascript:
Ver original
  1. $(this).trigger('mouseup');

y era esto que con el tiempo hacia que el mouseenter y mouseleave comenzaban a tardar

entonces al poner directamente en el mouseleave
Código:
transform: 'translate(0,0)'
y renunciando al trigger ... no ha vuelto a tardar ... que era como he dicho ... muy muy molesto

Dejo aquí esta solución por si ha caso alguien tendrá algún problema parecido.

Como conclusión ... yo tendré mucho mas cuidado con los triggers ( hasta que voy a encontrar otro problema con otro metodo ja ja :) )

Etiquetas: eventos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:39.