【发布时间】:2016-02-12 10:38:14
【问题描述】:
在图表上有几个相距很近的点。通过悬停突出显示的一些点(这是错误),但信息框正确显示了一个点。 А 有什么方法可以限制事件的范围吗?
【问题讨论】:
标签: jsxgraph
在图表上有几个相距很近的点。通过悬停突出显示的一些点(这是错误),但信息框正确显示了一个点。 А 有什么方法可以限制事件的范围吗?
【问题讨论】:
标签: jsxgraph
在 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));
};
【讨论】: