Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Cancelar eventos pendientes

Estas en el tema de Cancelar eventos pendientes en el foro de Javascript en Foros del Web. Hola, antes de cualquier cosa gracias por su tiempo. Estoy tratando de hacer lo siguiente Tengo un grid y mediante ajax quiero presentar informacion relativa ...
  #1 (permalink)  
Antiguo 22/01/2014, 13:10
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 9 años, 8 meses
Puntos: 0
Cancelar eventos pendientes

Hola, antes de cualquier cosa gracias por su tiempo.

Estoy tratando de hacer lo siguiente

Tengo un grid y mediante ajax quiero presentar informacion relativa a cada fila para esto defino una funcion en el evento mouseenter

ocurre que el grid tiene 50 filas (por decir un numero) y

cuando paso el mouse sobre el grid empieza a ejecutar el evento mouseenter para cada fila,

la idea es que me presente solo la informacion de la fila donde paro el mouse,


en este momento lo que hace es que empieza a presentar la informacion de cada fila por la que paso, causando una demora en el proceso,

no encuentro como capturar solo el ultimo evento on mouseenter y cancelar los onmouseenter pendientes.

lo que tengo es

<tr onmouseenter="mostrar_info();" onmouseleave="cancel_eventos();">

pero no encuentro que debo hacer en la funcion cancel_eventos;

Estoy utilizando html 5 y javascript 2.0

Les agradezco sus comentarios
  #2 (permalink)  
Antiguo 22/01/2014, 13:17
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 4 meses
Puntos: 1532
Respuesta: Cancelar eventos pendientes

no es complicado pero si tendrás que analizarlo un poco: la idea es provocar un lag

básicamente puedes usar setTimeout para ejecutar la acción de mostrar información por ejemplo en 400 microsegundos, y en el evento contrario onmouseout le aplicas un clearTimeout

esto provocaría que si pasa el mouse muy rápidamente por las filas se cancelara el timeout de cada fila, si posa el mouse sobre una en especifico no se produce el evento de salida y el timeout se ejecuta.

http://www.w3schools.com/jsref/met_win_cleartimeout.asp

podrías optimizarlo usando un Interval global, de modo de no saturar con tantos timeout, pero hasta ahora no lo he probado para garantizar un optimo funcionamiento, saludos y suerte.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 27/01/2014, 23:36
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Cancelar eventos pendientes

Disculpas, no habia tenido tiempo de mirarlo.
Funciona perfecto, utilizando como modelo en su totalidad el ejemplo dado en el link anotado, los eventos utilizados para el caso del grid fueron onmouseenter y onmouseleave.
Gracias por su tiempo

Etiquetas: ajax, cancelar, eventos, funcion, html
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 17:36.