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

时间:2015-03-09 13:35:45

标签: javascript backbone.js jsxgraph

我正在尝试更改

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。

1 个答案:

答案 0 :(得分:0)

通过以下hack,可以将对象而不是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 将不起作用。

希望有所帮助, 阿尔弗雷德