JavaScrip BOM 窗口加载事件

举报
花花叔叔 发表于 2022/08/13 00:06:32 2022/08/13
【摘要】 window.onload 是窗口 (页面)加载事件,当文档内容完全加载完成会触发该事件(包括图像、脚本文件、CSS 文件等), 就调用的处理函数 注意: 有了 window.onload 就可以把 ...

window.onload 是窗口 (页面)加载事件,当文档内容完全加载完成会触发该事件(包括图像、脚本文件、CSS
文件等), 就调用的处理函数

注意:

  1. 有了 window.onload 就可以把 JS 代码写到页面元素的上方,因为 onload 是等页面内容全部加载完毕,
    再去执行处理函数。
  2. window.onload 传统注册事件方式 只能写一次,如果有多个,会以最后一个 window.onload 为准。
  3. 如果使用 addEventListener 则没有限制

DOMContentLoaded 事件触发时,仅当DOM加载完成,不包括样式表,图片,flash等等。
Ie9以上才支持
如果页面的图片很多的话, 从用户访问到onload触发可能需要较长的时间, 交互效果就不能实现,必然影响用
户的体验,此时用 DOMContentLoaded 事件比较合适。

这三种方式都是类似于给scrip最外层包裹了一层函数,前两个是window.开头,最后一个是document. 开头 。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 传统会有冲突 , 只能有一次
        // window.onload = function () {
        //     var btn = document.querySelector ('button') ;
        //     btn.onclick = function () {
        //         alert('nihao') ;
        //     }
        // }
        // window.onload = function () {
        //     var btn = document.querySelector ('button') ;
        //     btn.onclick = function () {
        //         alert('nihao1') ;
        //     }
        // }

        // 最新的方式
        window.addEventListener ('load' ,function () {
            var btn = document.querySelector ('button') ;
            btn.onclick = function () {
                alert('nihao2') ;
            }
        })

        // 不需要加载图片就可以
        document.addEventListener('DOMContentLoaded' , function () {
            alert('nihao3') ;
        })
    </script>

</head>
<body>
    <button>点击</button>
</body>
</html>

文章来源: blog.csdn.net,作者:花花叔叔,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_52077949/article/details/120234424

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。