iOS上的Safari,虚拟键盘弹出之前是否有任何事件?

3

我正在开发一个iOS浏览器应用程序(HTML + JavaScript),并且在虚拟键盘弹出时,固定底部(来自Twitter Bootstrap)功能存在问题,因此我想在虚拟键盘弹出之前禁用它。 有没有事件可以做到这一点?

我已经尝试了focus事件,但它太晚了,固定底部元素将已经受到虚拟键盘的影响,有什么解决方案吗?

3个回答

2

您是否尝试过在聚焦之前检查mousedown/touchstart事件? 只需检查事件目标的nodeName是否为"input"或"textarea"即可。

我还创建了https://github.com/zvona/Servant.js,这是高级键盘处理的初始版本。 它支持"keyboardshow"但不支持"beforekeyboardshow"。 我将检查它是否可以被实现以帮助您的情况。

.


请记住,当用户滚动视图并触摸输入元素时,可能会引发意外事件。 - Samuli Hakoniemi

1
请在您的HTML中检查元素的onresize事件。
如果您正在使用jQuery,可以使用this插件。

0
在 Objective C 中,您可以注册键盘通知之一。您需要的是称为 UIKeyboardWillShowNotification 的通知。我不知道该字面字符串翻译成什么。我需要编写一些代码才能确定字符串的字面值。
我不知道是否可以在 Javascript 中注册通知。

我只使用JavaScript和HTML :D - WoooHaaaa

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