有没有办法检测窗口大小调整事件是否是由 Android 的弹出键盘引起的?

发布于 2025-01-02 19:37:10 字数 263 浏览 1 评论 0原文

我正在编写一个网页,它将完全支持移动浏览器。

该页面当前使用 KnockoutJS 根据屏幕(或容器)大小动态重新计算组件大小(并隐藏一些组件)。

我在使用 Android 浏览器时遇到问题:

当您单击文本字段时,弹出键盘会导致屏幕大小调整,从而导致 KnockoutJS(正确地)重新渲染显示。这会暂时导致文本字段失去焦点,弹出键盘也会消失。

如果我能知道调整大小是否是由弹出键盘引起的就好了……

谢谢,

克里斯。

I'm writing a webpage, which will fully support mobile browsers.

The page currently uses KnockoutJS to dynamically recalculate component sizes (and hide some components) based on the screen (or container) size.

I have a problem with the android browser:

When you click on a text field, the pop up keyboard causes a screen resize, which causes KnockoutJS to (correctly) re-render the display. This momentarily causes the text field to lose focus, which pop-up keyboard to disappear.

If only I could know whether a resize was caused by the pop-up keyboard...

Thanks,

Chris.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绝情姑娘 2025-01-09 19:37:10

通过向输入的焦点事件添加一个侦听器来解决此问题,该侦听器会在 0.5 秒内禁用对调整大小事件的反应。

Solved this by adding a listener to the input's focus event which disables reacting to resize events for 0.5s.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文