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

时间:2013-12-26 01:47:16

标签: javascript jquery ios css

我正在开发一个iOS浏览器应用程序(html + javascript),当弹出虚拟键盘时,固定底部(来自twitter bootstrap)功能出现问题,所以我想在虚拟键盘弹出之前禁用它起来。有什么事情可以做到吗?

我在聚焦输入字段时尝试了focus事件,但为时已晚,固定的底部元素已经受到虚拟键盘的影响,任何解决方案?

3 个答案:

答案 0 :(得分:2)

您是否尝试过检查焦点前发生的mousedown / touchstart?只需检查event.target.nodeName.toLowerCase()在调度时是“输入”还是“textarea”。

我还创建了https://github.com/zvona/Servant.js,这是高级键盘处理的初始版本。它支持“keyboardshow”,但不支持“beforekeyboardshow”。我将检查它是否可以实施并为您提供帮助。

答案 1 :(得分:0)

在Objective C中,您将注册其中一个键盘通知。你需要的那个叫做UIKeyboardWillShowNotification。我不知道转换为什么文字字符串。我必须编写一些代码才能找出字符串文字。

我不知道您是否可以在Javascript中注册通知。

答案 2 :(得分:0)

请检查html中 body 元素的 onresize 事件。

如果您使用的是jquery,则可以使用this插件。