jQuery 中窗口调整大小事件触发两次

2024-01-07

我运行了下面的代码

$(document).ready(function() {

    var ivar = 0;

    $(window).resize(function() {
        console.log('$(window).height() ' + $(window).height() + ' - ' + ++ivar);
    });
});​

每当我调整大小时,我发现事件触发两次,即计数器“ivar”增加两次。

任何人都可以告诉我在调整大小事件中发生了什么使计数器增加两次

**编辑: 1. 我通过双击窗口栏来调整窗口大小。


Thanks


这是众所周知的问题。在某些浏览器中,调整大小会被调用两次。我们可以创建计时器,这样只有当用户停止调整窗口大小时它才会调用我们的函数。 您可以这样做:

var globalTimer = null;

$(window).resize(function() {
    clearTimeout(globalTimer);
    globalTimer = setTimeout(doneResize, 500);
});

function doneResize(){
  console.log('$(window).height() ' + $(window).height() + ' - ' + ++ivar);   
}​
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 中窗口调整大小事件触发两次 的相关文章