2012-03-27 101 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/