window 在 jQuery 中调整了多少?

How much a window is resized in jQuery?

有没有一种方法可以在 jQuery 中仅当有人将 window 的大小调整超过 50 像素时才触发事件?

我想防止在移动浏览器上滚动时触发事件。滚动往往会调整 window 的大小并导致一些故障。我研究了去抖功能,但它们并没有完全解决我的问题。

我猜您正在 chrome 测试移动设备。 Chrome 隐藏导航栏并在您向一个方向滚动时显示它,当他认为您可能想要访问它时。当你使用百分比高度时,这会很烦人,我同意你的看法。

你可以这样做:

var height = window.innerHeight;
console.log("initial: "+height);

$(window).on("resize", doStuff);
function doStuff(){
  if( Math.abs(height - window.innerHeight) > 50){
    //really do stuff
    console.log(height - window.innerHeight);
  }
}

或 javascript:

var height = window.innerHeight;
window.addEventListener("resize", function(){
  if( Math.abs(height - window.innerHeight) > 50){
    //fire your code
  }
});