Добавление холста в div в IE8

Моя проблема в том, что я пытаюсь добавить элемент холста в контейнер div. Я пробовал этот код, и он не работает. Когда я пытаюсь переключить свой браузер на IE8, он не добавляет элемент холста в элемент .MainChart:

$('.MainChart').append('<canvas width="500" height="500">');

Я также пробовал этот код, но, похоже, он тоже не работает: он добавляется, но кажется, что элемент не работает. Отрисовка в 2D с получением элемента по ID и атрибуту width и height тоже не работает:

$('.MainChart').html('<canvas width="500" height="500"></canvas>');

Можете ли вы дать мне несколько советов по этому вопросу?

Я использую Excanvas.js 2.0 для поддержки элемента canvas в IE.


person bRaNdOn    schedule 13.02.2014    source источник


Ответы (1)


Когда вы создаете элемент холста динамически с помощью exCanvas, вам придется инициализировать его вручную. Когда страница загружается в первый раз, сценарий может выполнять итерацию по существующим элементам, но для динамически созданных элементов, которые добавляются позже, вам необходимо сделать это вручную.

Попробуйте добавить эти строки в свой код после создания холста и до того, как вы попытаетесь получить его контекст:

var canvas = $('<canvas width="500" height="500"></canvas>');
$('.MainChart').append(canvas);

/// initialize
if (typeof G_vmlCanvasManager !== 'undefined')
    G_vmlCanvasManager.initElement(canvas[0]);

/// now this should work
var ctx = canvas[0].getContext('2d');

Надеюсь это поможет!

person Community    schedule 17.02.2014