仅监听窗口的宽度变化(不监听高度)

问题描述 投票:0回答:1

我知道

window.addEventListener('resize', function(event) {}

window.onresize = function(event) {}

但是有没有办法只听WIDTH?

我想要最简单的方法来仅在窗口宽度发生变化时触发事件。

为了提供一些背景信息,实际上我正在使用

window.onresize = function(event) {}

我正在尝试阻止该函数在 iOs Safari 中向下滚动时触发。

感谢谁能提供帮助。

javascript window resize width
1个回答
0
投票

您可以通过将最后一个宽度存储在变量中来实现此行为。然后将最后一个宽度与当前宽度进行比较,如果它们不相等,则执行您想要的操作,然后更新最后一个宽度。

let lastWidth = window.innerWidth

window.onresize = function(event) {
    if (window.innerWidth !== lastWidth) {
        // your code
        
        // update the last width
        lastWidth = window.innerWidth
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.