Как передать элемент объекта вместо идентификатора в 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]});
Поскольку динамические элементы создаются внутри базовых представлений, мне нужно инициализировать JSXGraph для каждого элемента с идентификатором "box".
1 ответ
С помощью следующего хака можно передать объект вместо идентификатора JSXGraph. Для начала вам нужен невидимый div, например, с идентификатором "dummy". Затем доска инициализируется с этим фиктивным идентификатором, и мы должны внести исправления после этого. Давайте далее предположим, что
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();
Обратите внимание, что указание оси:true или grid:true в initBoard() не будет работать.
Надеюсь, это поможет, Альфред