如何在JSXGraph中传递元素对象而不是id

How to pass element object instead of id in JSXGraph?

本文关键字:对象 id 元素 JSXGraph      更新时间:2023-09-26

我正在尝试更改

var brd2 = JXG.JSXGraph.initBoard('box', {boundingbox: [-8.75, 2.5, 8.75, -2.5]});

var brd2 = JXG.JSXGraph.initBoard(this.$('#box'), {boundingbox: [-8.75, 2.5, 8.75, -2.5]});

由于动态元素是在主干视图中创建的,因此我需要为每个 id 为 "box" 的元素初始化 JSXGraph。

通过下面的技巧,可以将对象而不是id传递给JSXGraph。首先,您需要一个不可见的div,例如id"dummy"。然后用这个虚拟ID初始化板,之后我们必须进行更正。让我们进一步假设

var board = JXG.JSXGraph.initBoard('dummy', {axis:false,
    boundingbox: [-10,30,10,-10], keepaspectratio:false});
var obj = document.getElementById('box'); // or this.$('#box')
board.removeEventHandlers();
board.container = 'box';
board.containerObj = obj;
//
// Supply the dimensions of the box
board.renderer = new JXG.SVGRenderer(obj, {width: 800, height: 800});
board.setBoundingBox([-10,30,10,-10], false);
board.addEventHandlers();

请注意,在 initBoard() 中指定 axis:true 或 grid:true 将不起作用。

希望有帮助,阿尔佛雷德