Как передать элемент объекта вместо идентификатора в 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() не будет работать.

Надеюсь, это поможет, Альфред

Другие вопросы по тегам