有没有办法检测窗口大小调整事件是否是由 Android 的弹出键盘引起的?
我正在编写一个网页,它将完全支持移动浏览器。
该页面当前使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过向输入的焦点事件添加一个侦听器来解决此问题,该侦听器会在 0.5 秒内禁用对调整大小事件的反应。
Solved this by adding a listener to the input's focus event which disables reacting to resize events for 0.5s.