0178 window对象的常见事件:onload ,DOMContentLoaded ,onresize,innerWidth

Posted jianjie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0178 window对象的常见事件:onload ,DOMContentLoaded ,onresize,innerWidth相关的知识,希望对你有一定的参考价值。

1.2.4.1 页面(窗口)加载事件(2种)

第1种:window.onload

技术图片

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

技术图片


第2种:DOMContentLoaded

技术图片

? DOMContentLoaded 事件触发时,仅当DOM加载完成,不包括样式表,图片,flash等等。

? IE9以上才支持!!!

? 如果页面的图片很多的话,从用户访问到onload触发可能需要较长的时间,交互效果就不能实现,必然影响用户的体验,此时用 DOMContentLoaded 事件比较合适。

    <script>
        window.addEventListener('load', function() {
            var btn = document.querySelector('button');
            btn.addEventListener('click', function() {
                alert('点击我');
            })
        })
        window.addEventListener('load', function() {
            alert(22);
        })
        document.addEventListener('DOMContentLoaded', function() {
            alert(33);
        })
    </script>

1.2.4.2 调整窗口大小事件

技术图片

? window.onresize 是调整窗口大小加载事件, 当触发时就调用的处理函数。

注意:

  1. 只要窗口大小发生像素变化,就会触发这个事件。

  2. 我们经常利用这个事件完成响应式布局。 window.innerWidth 当前屏幕的宽度 【应该是当前浏览器的宽度吧】

    <script>
        // 注册页面加载事件
        window.addEventListener('load', function() {
            var div = document.querySelector('div');
            // 注册调整窗口大小事件
            window.addEventListener('resize', function() {
                // window.innerWidth 获取窗口大小
                console.log('变化了');
                if (window.innerWidth <= 800) {
                    div.style.display = 'none';
                } else {
                    div.style.display = 'block';
                }
            })
        })
    </script>
    <div></div>

以上是关于0178 window对象的常见事件:onload ,DOMContentLoaded ,onresize,innerWidth的主要内容,如果未能解决你的问题,请参考以下文章

事件绑定及深入上-多个window.onload

js的事件以及window操作

js常用对象:点击双击onload事件鼠标相关onblur事件和onfocus事件等;通过循环给多个元素添加事件通过addEventListener() 方法 监听事件函数

JavaScript 之 页面加载事件

window onload 与 img onload事件

JS怎样同一时候处理多个window.onload事件