всплывающая подсказка не включается при наведении курсора - PullRequest
0 голосов
/ 30 ноября 2011

http://jsfiddle.net/CYJAk/13/

посмотрите на него, подсказка вообще не отображается. я не знаю, если во всплывающей подсказке dataFormat используется какая-то другая функция. а также дата в оси X при увеличении не показывает минут, что мне для этого сделать?

Ответы [ 3 ]

2 голосов
/ 30 ноября 2011

В Firefox я вижу, что ваша ошибка javascript в вашем средстве форматирования всплывающей подсказки:

Uncaught TypeError: Cannot read property 'name' of undefined

Это кажется противоречащим документам (возможно, потому, что оно не является общим?).Я считаю, что использование

this.points[0].series.name

исправляет это.Обратите внимание, что вам также придется изменить this.y на что-то похожее this.points[0].y, чтобы это работало.

1 голос
/ 18 июля 2014

С совершенно другой точки зрения - у меня также были проблемы с подсказками Highcharts, использующими Chrome на моем Ultrabook.Эта проблема не возникала в IE или FireFox.

Я не использовал общие серии, поэтому решение, приведенное выше, не применимо.

Оказывается, проблема в том, что Chrome распознает Ultrabook с сенсорным экраном.и включает сенсорные события.Highcharts (v2.2.5) не включает событие mouseover для устройств, поддерживающих касание, но вместо этого включает событие touchstart.Поскольку «touchstart» не происходило, когда моя мышь зависала над значком, всплывающая подсказка так и не появилась.

Это строка в Highcharts, которая добавляет обработчик в зависимости от типа устройства:

.on(hasTouch ? 'touchstart' : 'mouseover', function (e) {
    series.onMouseOver();
    if (e.target._i !== UNDEFINED) { // undefined on graph in scatterchart
        points[e.target._i].onMouseOver();
    }
})

Таким образом, в этих случаях, вероятно, будет работать явное добавление обработчика «наведения мыши» и запуск «сенсорного запуска».

Highcharts проверяет наличие ontouchstart для определения устройств с сенсорным экраном:

hasTouch = doc.documentElement.ontouchstart !== UNDEFINED,
0 голосов
/ 30 ноября 2011

Попробуйте:

formatter: function() {
    var point = this.points[0],
        x = point.x,
        y = point.y,
        seriesName = point.series.name;

    return Highcharts.dateFormat('%A,%b %e,%Y, %H:%M', x) +'<br/> '+'<strong>'+ seriesName +'</strong>'+ y;
}

Я много использовал Highcharts, но никогда не использовал Highstock, но, как Mark сказал, что это противоречит документацииПохоже, ошибка.

...