编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

JavaScript-window对象的onload事件 238

wxchong 2024-08-01 03:07:24 开源技术 48 ℃ 0 评论

window.onload:页面加载完毕后触发的事件,页面需要加载的内容主要包括文本,图片,视频,js,css;元素的onload事件是元素自己加载完毕时触发而body的onload是页面内容全部加载完成后触发,这里主要说下body的加载事件

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>加载事件</title>
    <script type="text/javascript">
        window.txt1.value = '张三';
    </script>
</head>
<body>
 <input type="text" id="txt1" value="" />
</body>

浏览器是一边下载文档,一边解析执行,所以在JavaScript中操作某个元素时而这个元素还没有加载进来就会报 window.txt1为空或不是对象 这样的错误信息,因为网页内容不是由网站一次性全部发回来的,每一种请求都有单独的响应(时间非常短,都是以毫秒为单位,所以感觉像是一次性的),当网速慢有时可以看到文本已呈现,排版错乱,表示css还没有加载进来,可通过浏览器的Network(360,谷歌等)查看响应信息

解决上述问题的方法:如果js是写在元素的上面比如haed标签中则将操作页面元素的代码写在window的onload事件中;或者将js书写在元素下面,此时元素已加载完成可以操作此元素

//方式1
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>加载事件</title>
    <script type="text/javascript">
        window.onload = function () {
            window.txt1.value = '张三';
        }
    </script>
</head>
<body>
    <input type="text" id="txt1" value="" />
</body>
//方式2
<body>
    <input type="text" id="txt1" value="" />
    <script type="text/javascript">   
        window.txt1.value = '张三';
    </script>
</body>

通过window.控件Id操作元素的方式不建议使用,以后会通过类似document.getElementById(“控件Id”);的方式操作页面中的元素

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表