为什么闭包中的窗口onload始终不运行

时间:2019-07-04 09:25:54

标签: javascript jquery

在下面的代码中,我在封闭中绑定了一个窗口onload。窗口onload似乎只是随机触发,或者页面加载时间较长时

$(() => {
  console.log('test');
  // code that needs to run when document is ready

  window.onload = () => {
    console.log('test 1');
    // need this code to use some variables set in code above but only fire when all images have loaded so offsets are correct
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

为什么每次页面加载时onload都不触发?

1 个答案:

答案 0 :(得分:1)

问题是,如果您的DOM加载时间较短,则window.onload可以在document.ready的确切时间触发。因此,onload侦听器将无法及时连接到ready闭包中。