我正在通过 jQuery 将 X canvas 元素动态添加到页面,如下所示:
$(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 元素的某些事情不会立即发生。
当我转到其中一个 Canvas 元素上的 .getContext('2d')
时,它将失败并显示“getContext 不是函数”。这发生在 FF 3.5 和 Chrome 上。
如果我将任意事件处理程序分配给 Canvas 元素,如 .click()
,并在该事件中使用 .getContext()
,它会完美运行。
如何有效地确定 Canvas 是否已准备好进行操作?
最佳答案
我认为您不能在 can
变量上使用 getContext()
。
如果您这样做,请尝试 can[0].getContext()
。这实际上将获取元素对象,而不是 jQuery 的对象。
关于javascript - 如何检测 Canvas 何时准备好进行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1616072/