图中有几个相距很近的点。通过悬停突出显示的一些点(这是错误),但信息框正确显示了一个点。А 有什么方法可以限制事件的范围吗?
问问题
153 次
1 回答
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));
};
于 2016-02-17T09:12:25.987 回答