Im usando jqplot para dibujar algunos gráficos. Es una gran herramienta, pero carece de una simple opción de manejo de clics para cada gráfico.¿Cómo asociar un evento con un solo objeto? jqplot
Sus complementos como resaltador, arrastrable y cursor registran su interés en capturar eventos de clic/mouse del lienzo jqplot agregándose a jqplot.eventListenerHooks (eventListenerHooks.push (['jqplotClick', callback]); por ejemplo. o 'jqplotMouseDown' o como también están disponibles
Después de hacer mi parcela con los $ .jqplot habitual (objetivo, los datos, las opciones);. entonces hacer esto
$.jqplot.eventListenerHooks.push(['jqplotClick', myFunc]);
y bastante seguro myFunc se llama cuando hago clic en la trama, con event
, neighbour
, datapos
y gridpos
. El vecino es el más interesante, contiene mi punto de datos si hubo un clic en él. Esta es la información que necesito para hacer una ventana emergente cerca de la gridpos con información adicional en el punto de datos.
Pero el problema es si tengo dos gráficos en la misma página y quiero registrar diferentes devoluciones de llamada para cada jqplot. Como ahora, cuando registro el segundo myFunc2, todos los clics en el segundo diagrama también pasan por myFunc.
¿Debo hacer cambios en jqplot? ¿Alguna dirección, en absoluto?
Gracias
Gracias Andrew! Aclaré mi pregunta mientras contestabas, lo resolví y funciona muy bien, si tienes tiempo, mira mi publicación anterior. ¿Cómo puedo hacer para dos gráficos donde cada uno tiene un controlador diferente? Ah, y gracias por los enlaces!Mirándolos ahora. – rapadura
@AntonioP: No hay problema, acaba de actualizar mi respuesta. –
¡Ah! He pensado en eso, pero parece una solución no tan hermosa. El evento se propaga a ambos gráficos. Estoy viendo ahora https://bitbucket.org/cleonello/jqplot/src/a806b42e34e2/examples/barTest.html tratando de hacerlo funcionar ... – rapadura