我运行了下面的代码
$(document).ready(function() {
var ivar = 0;
$(window).resize(function() {
console.log('$(window).height() ' + $(window).height() + ' - ' + ++ivar);
});
});
每当我调整大小时,我发现事件触发两次,即计数器“ivar”增加两次。
任何人都可以告诉我在调整大小事件中发生了什么使计数器递增两次
**编辑: 1. 我通过双击窗口栏来调整窗口大小。
<小时/>谢谢
最佳答案
这是众所周知的问题。在某些浏览器中,调整大小会被调用两次。我们可以创建计时器,这样只有当用户停止调整窗口大小时它才会调用我们的函数。 具体方法如下:
var globalTimer = null;
$(window).resize(function() {
clearTimeout(globalTimer);
globalTimer = setTimeout(doneResize, 500);
});
function doneResize(){
console.log('$(window).height() ' + $(window).height() + ' - ' + ++ivar);
}
关于jquery - jQuery 中窗口调整大小事件触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13244667/