2012-04-16 10 views
13

Tengo un problema que parece que no puedo rastrear. Estoy usando Flot para graficar algunos datos, muy fácil. Quiero agregar el efecto de desplazamiento que aparece aquí: Flot ExampleEl evento "plothover" de Jquery Flot no funciona

Desafortunadamente, bajo ninguna circunstancia puedo hacer que el evento 'plothover' se dispare. Este es un breve fragmento del código:

$.plot($chartArea, eventData, eventOptions); 

$chartArea.bind("plothover", function (event, pos, item) { 
    console.log('hovering!'); 
}); 

¿Hay algo que tienes que configurar en las opciones objeto de permitir este comportamiento? ¡Gracias!

+0

¿Nos puede mostrar un ejemplo viable de su código de jsFiddle tal vez? Es mucho más fácil detectar problemas de esa manera. – Aidanc

+0

Tienes razón, pero tan pronto como publiqué esto, me di cuenta de que olvidé algo, mira mi respuesta ... – gabaum10

Respuesta

38

Como un idiota, olvidé incluir la opción de cuadrícula. Mira el objeto:

eventOptions = { 
    points: { 
     show: true 
    }, 
    lines: { 
     show: true 
    }, 
    grid: { hoverable: true, clickable: true }, 
    xaxis: { 
     min:earliestMessage.timestamp, 
     max:currentTime, 
     mode:"time", 
     ticks:10 
    } 
}; 

fíjate en el parámetro de la cuadrícula. Eso es lo que faltaba. Duh!

:)

+0

Gracias, tuve el mismo problema con el evento "plotclick", hasta que me di cuenta de que había hecho clic en la cuadrícula para ¡falso! – Jerry

2

no estoy seguro de lo $ ChartArea está en su código, pero vamos a tratar algo como esto:

var chartArea = $("#placeholder"); // your chart div 

$.plot(chartArea, eventData, eventOptions); 

$(chartArea).bind("plothover", function (event, pos, item) { 
    console.log('hovering!'); 
}); 
+0

es útil para mí, ¿cuál es la diferencia entre dar nombre de identificación y dar el nombre del elemento. – ddarz4u