2012-03-27 84 views
1

我们在我们的应用程序中使用Highcharts api。Highcharts Image click event

下面的网址会给出问题场景。

http://jsfiddle.net/jnjqt/40/

我需要为每个图像不同的单击事件。但是对于每张图片我都会得到相同的结果。 就像我得到每个图像对应的i的警报值一样,我的问题将得到解决。

在此先感谢。

+0

我可以”不要从我的办公室里走开。你可以发布高位代码和clickevent代码。 – Brian 2012-03-27 15:55:45

+0

功能强大的JavaScript关闭的常见问题 – antonjs 2012-03-27 16:01:40

回答

3

这是一个更常见的问题。我们在循环中使用闭包(for或while),并且它始终保留增量的最后一个值。

你只需要返回时,你的下面的循环功能:

for (var i = 0; i < chart.series[0].data.length; i++) { 
     ...... 
    } 

此代码应解决您的问题:

 .on('click', function(i) { 
      return function() { 
       alert(" image:"+i); 
      } 

     }(i)) 

这里的解决方案:http://jsfiddle.net/jnjqt/42/