2015-03-31 63 views
0

我想禁用悬停效果完全 这是一个代码片段Highmaps悬停效果/鼠标移开变色

series : [{ 
      data : data, 
      mapData: Highcharts.maps['custom/world'], 
      joinBy: ['iso-a2', 'code'], 
      name: 'Population density', 
      states: { 
       hover: { 
        enabled:false 
       } 
      }, 
      tooltip: { 
       valueSuffix: '/km²' 
      } 
     }] 

,但仍当我的鼠标外面有一些色彩效果有 这里是一个的jsfiddle highmaps fiddle (请改变上面的系列选项)

如何解决鼠标出现时的颜色效果,从地图上看,任何帮助或引用将不胜感激。

+0

不幸的是::0为我工作https://github.com/highslide-software/highcharts.com/issues/2802 – 2015-03-31 12:47:26

+0

@SebastianBochan:有一些技巧,你可以按照我已经回答的那样做,并且它的工作正常 – Vikas 2015-03-31 12:51:03

+0

@SebastianBochan我们如何在highmaps中有双击事件,因为自定义事件只适用于高分辨率 – Vikas 2015-04-02 11:51:20

回答

3

经过一番斗争,我得到了上述问题的解决方案,您只需将系列数据的所有点对象和悬停给予它们与当前具有的相同颜色,但不能给出颜色直接这样

states: { 
      hover: { 
       color:this.color 
      } 
     }, 

因此,你可以把一些黑客这样

$('#container').highcharts('Map', options); 
      var points = $('#container').highcharts().series[0].data; 

      for (var i = 0; i < points.length; i++) { 


       points[i].pointAttr.hover.fill = points[i].color; 

      } 

和问题就解决了...... !!!!

+0

谢谢,这很好。 – 2016-11-15 10:47:02

+0

欢迎:) @JustinSmith – Vikas 2017-05-30 12:45:35

-1

你可以禁用它,就像这样:

states: { 
     hover: { 
      enabled: false, 
     } 
    }, 
+0

这不起作用 – manking 2016-11-24 11:01:05

0

这里有没有jQuery的一个解决方案:

const map = new Highcharts.Map(chartOptions); 

(function() { 
    var points = map.series[0].data; 
    for (var i = 0; i < points.length; i++) { 
     points[i].pointAttr.hover.fill = points[i].color; 
    } 
})(); 

你实例化地图后,只要弹出这个英寸

0

@Vikas的解决方案没有为我工作。 pointAttr未被“定义”。

设置悬停颜色:空和亮度:在这一刻,这是已知的bug相关

states: { 
    hover: { 
     color: null, // Set no specific color to use original color 
     brightness: 0 // Prevent brightness effect 
    } 
}