老师有个问题,关于window.onload

老师有个问题,关于window.onload

1、老师,我在js文件中加了window.onload,在里面写

video_one.addEventListener('canplay', function () {

    console.log('视频已经加载好,可以开始播放了');

});后,控制台啥也没有输出,把这几行代码放到window.onload外面的话,控制台就有输出了,为啥呢
2、关于需不需要写window.onload,和script标签在html中引入的位置有关系吗,放在head标签中和放到body标签下面有没有关系呢


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,问题解答如下:

1. 在window.onload中给video标签绑定事件是可以执行的,如下:

http://img1.sycdn.imooc.com//climg/5ed73bb5092838d709540259.jpghttp://img1.sycdn.imooc.com//climg/5ed73bbb0946bc4911320250.jpghttp://img1.sycdn.imooc.com//climg/5ed73bbf09b3a63608000172.jpg

同学可以检查一下代码是否书写有误,如果自己无法解决问题,可以把代码粘出来,老师帮忙测试。

2. 是否写window.onload与js的引入位置有关系。window.onload事件是在页面上的html结构和资源全部加载完成后才会触发。如果js是在head中引入的,就需要将js中的代码写在window.onload中,这样的话,当window.onload事件触发时,js内的代码才会执行,此时页面上的元素已经渲染完,js内不会因为找不到dom元素而报错。如果js是在body底部引入的,则可以不写window.onload,因为代码执行到底部的js时,页面上的元素已经渲染完,js内可以正常获取到元素。

另外,之前课程中讲过domReady,它是dom结构渲染完就触发的事件。可以用它替代window.onload,因为它的执行的时机比window.onload早。

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师