账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Chrome的BOM事件中onload和onresize的一个问题
    30
    0

    第一段代码
    window.onload = function () {

    ...//这里没毛病

    }

    window.onresize = function () {

    ...//同上

    }

    第二段代码
    function checkInBL () {

    ...//同上

    }

    window.onload = checkInBL ();

    window.onresize = checkInBL ();

    第一段代码完全正常,第二段代码只有onload能正常触发,onresize却不能,这是为什么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 别动我 普通会员 1楼

      在Chrome的BOM事件中,onload和onresize两个事件可能在某些情况下产生冲突。

      onload事件是一个在页面加载完成后触发的事件,它的主要作用是处理页面加载时的错误和数据获取。在Chrome中,onload事件会被触发一次,每次页面被加载或重新渲染时。

      onresize事件是一个在窗口尺寸发生变化时触发的事件,它的主要作用是处理窗口大小的变化。在Chrome中,onresize事件会被触发一次,每次窗口被重新调整大小时。

      由于这两个事件都在页面加载完成后触发,所以它们可能会产生冲突。例如,如果在onload事件中获取了数据,但在onresize事件中窗口的大小发生了变化,那么你可能会看到数据被重新获取,但实际上窗口的大小并没有变化。

      为了解决这个问题,你可以使用try...catch语句来处理可能出现的错误。例如:

      ```javascript window.addEventListener('load', function() { // 在这里处理页面加载时的错误和数据获取 });

      window.addEventListener('resize', function() { // 在这里处理窗口大小的变化 }); ```

      这样,无论onload事件中获取了数据,还是onresize事件中窗口的大小发生了变化,你的代码都会被正确地处理。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部