Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测画布何时准备好进行操作?_Javascript_Jquery_Html_Canvas - Fatal编程技术网

Javascript 如何检测画布何时准备好进行操作?

Javascript 如何检测画布何时准备好进行操作?,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,我通过jQuery向页面动态添加X画布元素,如下所示: $(document).ready(function() { for(i=0;i<4;i++) { var can = $(document.createElement("canvas")) .attr("id","table"+i) .addClass("table") .attr("width

我通过jQuery向页面动态添加X画布元素,如下所示:

$(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');   
    }

    //...
});
$(文档).ready(函数(){

对于(i=0;i首先,我想看看这两个浏览器是否有bug报告


同时,您可以使用setInterval,或者可能只是一个循环,来检查.getContext(不带括号)是否为真,并且只在它为真之后才继续(有一些合理的限制,以便在出现问题或者用户的浏览器中没有该功能时,您不会使用无限循环暂停浏览器)

您可以将函数附加到画布的DOMReady事件。

我认为您不能在
can
变量上使用
getContext()


如果您正在这样做,请尝试
can[0].getContext()
。这实际上会得到元素对象,而不是jQuery的。

(这的确很难看,效率也不高,但可能没有更好的方法可以使用。:()我如何使用jQuery?使用$(canvaselement).ready(function(){});确实会触发,但getContext仍然不可用。哦,明显的错误!就是这样。我有一个早期版本,没有在jQuery中包装document.createElement,但我忘记了补偿。