为了账号安全,请及时绑定邮箱和手机立即绑定

DOM树中相应的对象还没生成就可以搜索该对象了?

54c3875c0001ae6105000277.jpg

"imageObj.src = imgSrc"在for循环中,在图片加载完成后触发onload实践,执行实践处理函数,其中第一行代码

var cvs = $("#cvs_" + this.index)[0].getContext("2d");

问题在这

$("#container").html(tmpl);

这一行代码在for循环后面,也就是说在执行for循环时,代码生成的HTML代码 tmpl 还没加到DOM树中,相应的DOM对象还未生成。而在事件处理函数中搜索了 canvas 对象,并进行绘图,这样可以?

正在回答

6 回答

变量提前

0 回复 有任何疑惑可以回复我~

同问,我也想知道  这个onload是什么时候执行的,用断点调度,发现 img.onload是在循环跳出之后 ,$('#large').html(ohtml);这个执行之后,开始执行onload的,但是循环跳出之后 。oimg被覆盖了很多次了,最后imgObj.src  是img/17.jpg     那为什么 它还是会从1到17的图片都加载出来

0 回复 有任何疑惑可以回复我~

确实有问题,我刚实现了代码,结果报错Cannot read property 'getContext' of undefinedimageObj.onload

0 回复 有任何疑惑可以回复我~

请理解onload事件的触发情况,请求是要被添加后才可以触发这个函数的,所以function里的代码都没有执行。也就不存在你说得dom节点没有被添加到html却过早绑定了事件

0 回复 有任何疑惑可以回复我~
#1

arlenhui

语死早,又思考了一下,确定我理解是有问题的,明天我找一些文献看看,或坐等大手指点迷津
2015-08-03 回复 有任何疑惑可以回复我~

我也有个问题就是:$("#cvs_"+this.index)[0].getContext("2d"); 为什么不直接这样写:$("#cvs_"+i).getContext("2d"); 这样我去试了,真的不行!

0 回复 有任何疑惑可以回复我~
#1

arlenhui

$选择器选择后是一个类数组,没有getContext这样的方法
2015-08-02 回复 有任何疑惑可以回复我~

我也觉得有问题,待考虑中。。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
移动端的WEB相册
  • 参与学习       47967    人
  • 解答问题       217    个

本课程通过一个移动端相册案例,带您一步步了解移动端框架

进入课程

DOM树中相应的对象还没生成就可以搜索该对象了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信