首页 > 解决方案 > iOS 键盘未关闭,由 iframe 中的输入触发

问题描述

我的网页上有一个模式窗口,其中包含<iframe>存储在远程服务器上的页面。此页面包含带有一些<input>元素的表单。当用户点击模态框上的关闭按钮时,带有 iframe 的模态框将隐藏。

问题: 如果用户开始在其中输入<input>内容<iframe>然后关闭模式,则键盘不会关闭,直到他按下Done按钮。

我已经简化了这个例子并删除了模态实体并呈现了两个按钮:一个是隐藏模态,另一个是从 DOM 中删除它。

我尝试window.activeElement将焦点显式设置为根页面上的不同元素。(您可以在演示中查看),尝试在or上调用.blur()方法。在我的应用程序中隐藏,但我试图将其从页面中删除。iframeiframe.contentWindow<iframe>

当前行为:

问题截图

我假设如果不再显示任何触发它的元素,则应该隐藏键盘,就像在 Android/Chrome 上所做的那样。

在这种情况下,我有几个问题:

标签: javascripthtmliossafariwebkit

解决方案


使用响应者链: UIApplication.sharedApplication().sendAction("resignFirstResponder", to:nil, from:nil, forEvent:nil)

使用 UIView 的 endEditing:self.view.endEditing(true)


推荐阅读