图片没有加到页面中,就可以触发load事件。而js文件为什么就不行?

图片没有加到页面中,就可以触发load事件。而js文件为什么就不行?

var image = document.getElementById("img");

EventUtil.addHandler(image, "load", function(e) {

alert("图片加载完毕    ");

})

image.src = "1.png";


var script = document.createElement("script");

EventUtil.addHandler(script, "load", function(event){

alert("js Loaded");

});

script.src = "jquery.js";

document.body.appendChild(script);——???


正在回答

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

2回答

同学你好,这两个是有区别。

img图片的src地址只要能加载成功,load事件就会触发,而script需要追加到页面中才能触发load事件。记住这样使用就可以。

祝学习愉快!

好帮手慕星星 2019-07-06 10:55:58

你好,图片加载的时候看起来图片没有显示,就看到了弹框提示,但是实际上是加载成功的,因为alert()方法会阻断代码运行,所以看不到图片。可以在代码中输出下执行顺序:

http://img1.sycdn.imooc.com//climg/5d200d9100016d2a06130303.jpg

http://img1.sycdn.imooc.com//climg/5d200d9800012fd301370126.jpg

是图片加载完之后才执行的load事件,所以是加载成功的,可以将alert方法换成console.log()方法测试。

祝学习愉快!

  • 提问者 慕尼黑5122342 #1
    之前写错了是:var image = document.createElement("img"); 为什么要加document.body.appendChild(script);才算 "jquery.js"文件加载完成。而img没有加载到页面中,也算图片加载完成了。
    2019-07-08 18:38:47
  • Miss路 回复 提问者 慕尼黑5122342 #2
    同学,你好。只有追加到页面中,才能加载,所以只有写了appendChild(script)之后才会加载。
    2019-07-08 19:44:33
  • 提问者 慕尼黑5122342 #3
    可是image图片没有加载到页面中啊?为什么也会触发load事件
    2019-07-12 09:36:25
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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