【问题标题】:Highcharts tooltip functionality lost from version 2.2.1 to version 3.0.1Highcharts 工具提示功能从 2.2.1 版到 3.0.1 版丢失
【发布时间】:2013-06-12 09:51:13
【问题描述】:

我在屏幕上显示多个图表,在 .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 属性

    function vendorPropName(style, name) {

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

    似乎尝试在字符串上使用 IN 操作数 - 样式参数包含以下内容,当错误发生时:

光标:默认值;填充:0;空白:nowrap;

当我关闭工具提示时没有出现错误,所以这就是我推测与工具提示有关的原因。

我还进行了回归测试,并返回到 Highcharts 2.2.1 版。在这个版本中,工具提示的行为正常,一旦我们退出图表数据区域,工具提示就会被销毁。但不幸的是我不能使用这个版本,因为涉及到 3.0.1 的其他功能

【问题讨论】:

    标签: model-view-controller highcharts dotnethighcharts


    【解决方案1】:

    hideDelay 设置为0:http://api.highcharts.com/highcharts#tooltip.hideDelay

    关于错误,请在 jsFiddle 上重新创建问题。

    【讨论】:

    • 抱歉,将 HideDelay 设置为零不起作用,我的行为相同。
    • 关于 jsFiddle,由于开发是用 C# .NET 完成的,而且图表属性都是用 C# 定义的,恐怕问题是这个图表在最终产品中是如何翻译的(HTML/JS,等等)。即使尝试重现错误,也没有明确的选项可以选择 Highcharts 3.0.1 和 JQUERY 2.0.1。
    • 也许您正在使用一些不支持该选项的包装器? jsfiddle.net/AnT5H/1 - timeout等于0,当然现在有动画fadeOut(),但是tooltip不会停留太久。
    • 唯一的区别是我有一个 .NET MVC 项目,没有其他包装器。但奇怪的是,在直接引用 Highcharts 网站的脚本后,Firefox 中的错误消失了,功能又恢复了,而在 IE 中,我现在收到另一个错误,说“Highcharts”未定义
    • 将 Highcharts 更新到最新版本 (3.0.2) 而不是 3.0.1。没有活生生的例子,我无能为力..
    【解决方案2】:

    此错误似乎是特定于版本的。我通过下载最新版本的 highcharts JS 修复了我的系统中的一个相同错误,替换了 NuGet 安装的那个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      相关资源
      最近更新 更多