Я динамически добавляю элементы X canvas на страницу через jQuery, например:
$(document).ready(function() {
for(i=0;i<4;i++) {
var can = $(document.createElement("canvas"))
.attr("id","table"+i)
.addClass("table")
.attr("width",640)
.attr("height",480)
.appendTo('#container');
}
//...
});
Ни .append()
, ни .appendTo()
не имеют обратного вызова, потому что они должны произойти немедленно. К сожалению, что-то с элементом canvas не происходит сразу.
Когда я перехожу к .getContext('2d')
на одном из элементов canvas, он завершается с ошибкой «getContext не является функцией». Это происходит как на FF 3.5, так и на Chrome.
Если я назначу произвольный обработчик события элементам холста, таким как .click()
, и использую .getContext()
в этом событии, он будет работать отлично.
Как я могу эффективно определить, что холст готов к манипулированию?