浮动鼠标悬停算法纯粹基于x位置进行检测?

Raz*_*orm 5 javascript jquery flot

使用jQuery的flot,有一种方法可以通过将项目悬停在它们上来选择项目.在选项中,grid [mouseActiveRadius]可以设置为一个数字,以指示选择圆的半径的所需长度.

例如,如果将其设置为10,则任何鼠标悬停事件都将突出显示10像素半径圆中的最近点.

但是,我希望告诉flot悬停在x方向上最接近的点(而不是最近的点周期).

在这个例子中的EG:第1点显然比第2点更接近x,但我仍然希望flot选择第2点,因为它在x方向上更接近.

           x
1







          2
Run Code Online (Sandbox Code Playgroud)

有没有办法用插件/内置功能来做到这一点,还是我需要编写一个扩展flot默认行为的函数?

tac*_*one 4

我发现的唯一方法是更改​​源。(这确实很糟糕,但评论良好的黑客通常比无法维护的解决方法更好)

找到这段代码:(function findNearbyItem()位于我修订版的第 2278 行)

if (s.lines.show || s.points.show) {
                    for (j = 0; j < points.length; j += ps) {
                        var x = points[j], points[j + 1];
                        if (x == null)
                            continue;
Run Code Online (Sandbox Code Playgroud)

改成:

if (s.lines.show || s.points.show) {
                    for (j = 0; j < points.length; j += ps) {
                        var x = points[j], y =0; // points[j + 1];
                        if (x == null)
                            continue;
Run Code Online (Sandbox Code Playgroud)

希望这个答案能够帮助任何遇到同样问题的人。