DOM 4-9编程联系作业,请检查

来源:1-1 课程简介

applefishfish

2022-01-04 22:37:42


window.onload = function() {

    var bnt = document.getElementById('button');

    bnt.onclick = function () {

        this.style.color = "red";

    };

    bnt.onmouseleave = function () {

        this.style.color = "blue";

    };

};


请老师检查作业,为什么要加window.onload包裹JS所有代码。是不是以后写代码都要吧JS包裹在window.onload

写回答

1回答

好帮手慕慕子

2022-01-05

同学你好,代码思路是对的,建议优化:鼠标离开时调整文字颜色为灰色,更符合练习要求,如下:

https://img.mukewang.com/climg/61d4fbff0935b33c05550130.jpg

针对同学的问题解答如下:

1、因为练习要求将js代码书写在header标签中,如下:

https://img.mukewang.com/climg/61d4fb5f095b62e005770244.jpg

由于代码是按着从上到下的顺序执行,当执行header标签中的内容时,还未加载后面的html元素,无法获取到元素,导致代码出现报错,所以需要使用window.onload方法,保证在页面加载完成之后,再执行里面的代码,此时就可以获取到对应的DOM元素了。

2、不一定。

如果是在header标签书写js代码,那么要将代码写在window.onload方法中

如果是在body结束标签处的script标签内书写js代码,那么就可以不用将代码写在window.onload方法中。

祝学习愉快~

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程