2015-12-03 184 views
1

在JavaScript中,我无法弄清楚如何使用下面的函数中的数据对象来获取点击数据点的位置(例如third data point in the series)。获取数组元素中的位置

使用chartsNew.js,charts.js的流行叉,该代码显示的数据点在鼠标点击的价值:

function fnMouseDownLeft(event,ctx,config,data,other){ 
    if(other != null){ 
     window.alert("["+ data.labels[other.v12]+", "+data.datasets[other.v11].data[other.v12] +"]"); 
    }else{ 
     window.alert("You click Left but not on a data"); 
    } 
} 

如何显示点击的元素的数据系列的位置?

jsFiddle Example

这似乎是最有前途的,但我不明白data.datasetsdata.datasets[other]data.datasets[other].data[other]

window.alert("Position: " + data.datasets[other.v11].data[other.v3]); 

这里的关系是文档:

https://github.com/FVANCOP/ChartNew.js/wiki/100_095_Mouse_Actions

https://github.com/FVANCOP/ChartNew.js/wiki/120_Template_variables#inGraphDataTmpl-annotateLabel

我的困惑:v12(折线图)应显示数据的位置在系列(这是我想要的),而是它显示该数据点的x轴的值。

回答

1

other.v12似乎这样的伎俩

alert(other.v12); 

http://jsfiddle.net/wesn0xm5/1/

不知道为什么它不给你的系列,它为我。

+0

* one *变化我没有尝试---和(现在看它)一个明显的变化。谢谢您的帮助。 *解决方案通常很简单...事后... * – crashwap

+0

很高兴我能帮上忙,我经常陷入同样的​​陷阱。这就像校对自己的散文一样,错过了相同的拼写错误和语法错误。 – Serhiy