Функциональность всплывающей подсказки Highcharts утеряна с версии 2.2.1 до версии 3.0.1.

Я показываю несколько диаграмм на экране в приложении .NET MVC, используя Highcharts 3.0.1. У меня проблема в том, что всплывающие подсказки не уничтожаются при переходе от одного графика к другому (или когда я не зависаю над областью с данными графика). Таким образом, я получил 3 подсказки, отображаемые над тремя диаграммами, которые я показываю на экране, даже если мой курсор находится в другой области экрана. И также в связи с этим возникает ошибка java-скрипта, когда я выхожу из области диаграммы, которая говорит:

Unhandled exception at line 6090, column 2 in http://localhost:50204/Scripts/jquery-2.0.1.js

0x800a138f - Microsoft JScript runtime error: Invalid operand to 'in': Object expected
  • также проверено в IE 8, 9 и Mozilla Firefox. Это код, который находится в файле js, в этой строке:

    // возвращаем свойство css, сопоставленное с потенциальным свойством с префиксом поставщика

    функция vendorPropName (стиль, имя) {

    // shortcut for names that are not vendor prefixed
    if ( name in style ) {
        return name;
    }
    

    Кажется, что пытается использовать операнд IN в строке - параметр стиля содержит следующее, когда возникает ошибка:

курсор: по умолчанию; заполнение: 0; пробел: nowrap;

Ошибка не появляется, когда я отключаю всплывающую подсказку, поэтому я предположил, что это связано с всплывающей подсказкой.

Я также провел регрессионный тест и вернулся к Highcharts версии 2.2.1. В этой версии всплывающие подсказки ведут себя нормально, всплывающая подсказка уничтожается, когда мы выходим из области данных диаграммы. Но, к сожалению, я не могу использовать эту версию из-за других функций, связанных с 3.0.1.


person Viorel Iederan    schedule 12.06.2013    source источник


Ответы (2)


Установите для hideDelay значение 0: http://api.highcharts.com/highcharts#tooltip.hideDelay

Что касается ошибки, воссоздайте проблему на jsFiddle, пожалуйста.

person Paweł Fus    schedule 12.06.2013
comment
Извините, установка HideDelay на ноль не сработала, у меня такое же поведение. - person Viorel Iederan; 12.06.2013
comment
Что касается jsFiddle, поскольку разработка выполняется на C# .NET, а все свойства диаграммы определены на C#, я боюсь, что проблема заключается в том, как эти диаграммы переводятся в конечный продукт (HTML/JS и т. д.). И даже при попытке воспроизвести ошибку нет явного выбора Highcharts 3.0.1 с JQUERY 2.0.1. - person Viorel Iederan; 12.06.2013
comment
Может быть, вы используете какие-то обертки, которые не поддерживают эту опцию? jsfiddle.net/AnT5H/1 - таймаут равен 0, естественно теперь есть анимация fadeOut (), но всплывающая подсказка не задержится надолго. - person Paweł Fus; 12.06.2013
comment
Единственная разница в том, что у меня есть проект .NET MVC, никаких других оберток. Но странно то, что после прямого обращения к сценариям с веб-сайта Highcharts ошибка исчезла в Firefox, и функциональность вернулась, а в IE теперь появляется другая ошибка, говорящая, что «Highcharts» не определена. - person Viorel Iederan; 12.06.2013
comment
Обновите Highcharts до последней версии (3.0.2) вместо 3.0.1. Без живого примера я не могу так сильно помочь.. - person Paweł Fus; 12.06.2013
comment
Это своего рода пример — взял базовый пример столбца и перенес его в jQuery 2.0.2 — вот ссылка (jsfiddle.net/gh/get/jquery/2.0.2/highslide-software/ ), а в IE ничего не отображается, кроме ошибок: SCRIPT5: Отказано в доступе. jquery-2.0.2.js, строка 1378 символ 2 SCRIPT5009: '$' не определено _display, строка 21 символ 1 С другой стороны, в Mozilla Firefox это работает нормально. - person Viorel Iederan; 12.06.2013
comment
jsFiddle имеет проблемы с отображением в старом IE, попробуйте полноэкранную версию: jsfiddle.net/e2ak2/show Кстати , jQuery 2+ больше не поддерживает старый IE. - person Paweł Fus; 12.06.2013
comment
Но версия IE — 9, режим браузера — IE9, а режим документа — стандарты IE9. - person Viorel Iederan; 12.06.2013
comment
Только что протестировано с IE v 9.0.8112.16421 и с /show/ в URL работает отлично. - person Paweł Fus; 12.06.2013
comment
Понизился до jQuery 1.5.1 и Highcharts 2.2.1 и отлично работает :) - person Viorel Iederan; 13.06.2013

Эта ошибка, по-видимому, зависит от версии. Я исправил идентичную ошибку в своей системе, загрузив последнюю версию highcharts JS, заменив ту, что была установлена ​​NuGet.

person Vinícius Oliveira    schedule 28.03.2014