KeyboardShrinksView 使失去焦点

Posted

技术标签:

【中文标题】KeyboardShrinksView 使失去焦点【英文标题】:KeyboardShrinksView makes lose focus 【发布时间】:2013-04-22 14:00:56 【问题描述】:

Phonegap 2.6 (ios) 中包含的 KeyboardShrinksView 功能有问题。

当我在想要包含文本的文本区域中点击时,键盘会出现,并且 web 视图会按我的意愿收缩。

问题是我失去了对文本区域的关注,用户必须再次点击文本区域才能开始在其中书写。

有人对这个新功能有同样的问题吗?

谢谢!!

【问题讨论】:

【参考方案1】:

在您的输入上添加一个点击(或 touchstart)事件,该事件将专注于您的字段。

element.on("tap", function(e)element.focus());

问题来自使用幽灵点击事件在 ios 上完成焦点的事实。但是当它被触发时,视图已经改变了(因为键盘)。

这个问题在 ios7 上会更常见,因为 KeyboardShrinksView 是默认行为...

【讨论】:

不知道为什么,但对我来说,touchend 事件似乎可以解决问题【参考方案2】:

在 web view 收缩之后尝试编写这段代码。

  [TextFieldOnWhichFocusIsExpected BecomeFirstResponder];

【讨论】:

【参考方案3】:

从 Phonegap 2.9 升级到 3.1 后,我遇到了 iOS 的这个问题。通过将 height=device-height 添加到我的元标记来解决,所以它现在看起来像这样:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">

【讨论】:

以上是关于KeyboardShrinksView 使失去焦点的主要内容,如果未能解决你的问题,请参考以下文章

文本框 失去焦点 是啥意思?

在 ReactJS 中使用 state 和 Function 组件时如何使输入不失去焦点?

MFC使控件失去焦点的方法

前端开发中失去焦点和获取焦点是啥意思

js中怎么使点击按钮后文本框获得焦点

带有动画的 TextField 使应用程序崩溃并失去焦点