JavaScript中OnLoad几种使用方法


在JavaScript中,`onload` 事件通常用于检测一个页面或其资源(如图片、脚本等)是否加载完成。这里我将介绍几种常见的使用 `onload` 的方法。

### 1. 页面加载完成后执行脚本

直接在HTML的``标签上使用`onload`属性。


<body onload="initPage()">
    <!-- 页面内容 -->

    <script>
        function initPage() {
            // 页面加载完成后执行的代码
            console.log('页面加载完成');
        }
    </script>
</body>

### 2. 使用JavaScript添加事件监听器

通过JavaScript代码为`window`对象添加`load`事件监听器,这种方式更加灵活,因为它允许你在页面的任何位置(包括在``标签内)添加监听器。


<script>
    window.onload = function() {
        // 页面加载完成后执行的代码
        console.log('页面加载完成');
    };
</script>

或者,使用`addEventListener`来添加监听器,这种方式的好处是可以添加多个监听器而不会相互覆盖。


<script>
    window.addEventListener('load', function() {
        // 页面加载完成后执行的代码
        console.log('页面加载完成');
    });
</script>

### 3. 图片或其他资源加载完成后执行脚本

对于图片或其他需要加载的资源,可以在这些元素上使用`onload`属性。


<img src="image.jpg" onload="imageLoaded()" alt="示例图片">

<script>
    function imageLoaded() {
        // 图片加载完成后执行的代码
        console.log('图片加载完成');
    }
</script>

### 4. 使用jQuery的ready()方法(虽然不直接使用onload,但概念相似)

如果你在使用jQuery,可能会用到`$(document).ready()`方法,它类似于`window.onload`,但在DOM完全就绪时就会触发,而不需要等待所有资源(如图片、样式表等)加载完成。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
    $(document).ready(function() {
        // DOM就绪后执行的代码
        console.log('DOM就绪');
    });
</script>

注意:虽然jQuery的`ready()`方法不是直接使用`onload`,但它提供了一个在DOM加载完成后立即执行代码的便捷方式,这在很多情况下比等待所有资源加载完成要更有效率。