Вопрос

http://jsfiddle.net/cyjak/13/

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

Это было полезно?

Решение

Под Firefox я вижу, что ваша ошибка JavaScript в вашем форматере подтягивания инструментов:

Uncaught TypeError: Cannot read property 'name' of undefined

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

this.points[0].series.name

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

Другие советы

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

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

Оказывается, проблема заключается в том, что Chrome распознает ультрабук имеет сенсорный экран и позволяет сенсорные события. 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();
    }
})

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

Highcharts проверяет наличие OnTouchStart для определения устройств с поддержкой:

hasTouch = doc.documentElement.ontouchstart !== UNDEFINED,

Попробуй это:

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, но как Отметка сказал, что это идет вразрез с документами. Похоже на ошибку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top