JSXGraph。积分有限

时间:2016-02-12 10:38:14

标签: jsxgraph

在图表上有几个紧密间隔的点。通过悬停一些突出显示的点(它的错误),但信息框正确显示一个点。 是否有任何方法可以限制事件的范围?

1 个答案:

答案 0 :(得分:1)

在JSXGraph中,元素的敏感区域的目的是增强,以便更好地处理,特别是对于线条。对于点,敏感区域是边长 r + 2 像素的四边形,其中 r 是点的半径的最大值(如果是圆形)和属性 JXG.Options.precision.hasPoint JXG.Options.precision.hasPoint 的默认值取决于指针设备类型,即鼠标或触摸。它可以通过设置为小值来控制

JXG.Options.precision.mouse = 1; // default is 4
JXG.Options.precision.touch = 1; // default is 30

在致电JXG.JSXGraph.initBoard()之前。

如果要定义自己的敏感值,可以覆盖方法hasPoint。默认方法如下:

JXG.Point.hasPoint = function (x, y) {
    var coordsScr = this.coords.scrCoords, r;

    r = parseFloat(this.visProp.size) +
        parseFloat(this.visProp.strokewidth) * 0.5;

    if (r < this.board.options.precision.hasPoint) {
        r = this.board.options.precision.hasPoint;
    }

    return ((Math.abs(coordsScr[1] - x) < r + 2) && 
            (Math.abs(coordsScr[2] - y) < r + 2));
};