当手机键盘打开时,防止触发调整大小事件 (JS)

4

大家好,我希望有人能告诉我如何仅在手机设备更改方向时运行函数。我指的是仅当手机设备更改其方向时,而不是键盘打开时>>这就是问题所在。

我知道这个window.innerWidth > window.innerHeight,结合resize事件,可以让我确定横向和纵向。但我刚刚在Android上测试了我的网站,当键盘打开时,它会给我一个假的横向结果,也就是说,设备方向没有真正改变。因此,我的问题是,如何在手机(Android、iOS)更改其方向时运行我的函数,但防止因键盘打开而导致方向更改。

2个回答

1
键盘会导致屏幕高度发生变化。如果您不想或不需要处理此问题,则可以仅过滤宽度的变化:
let windowWidth = window.innerWidth;
window.addEventListener('resize', function(event) {
    if (window.innerWidth != windowWidth) {
        windowWidth = window.innerWidth;
        handleEvent();
    }
});

你还应该添加一些代码解释,可以参考如何撰写好的答案[answer]。 - Sunderam Dubey

0
你可以使用 window.screen 以及它提供给你的所有内容!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接