【发布时间】:2019-11-12 23:10:03
【问题描述】:
我的网页上有一个模式窗口,其中包含一个<iframe>,页面存储在远程服务器上。此页面包含带有一些 <input> 元素的表单。当用户点击模态框上的关闭按钮时,带有 iframe 的模态框将隐藏。
问题:
如果用户开始在 <iframe> 内的 <input> 中输入内容,然后关闭模式,则键盘不会关闭,直到他按下 Done 按钮。
我已经简化了这个示例并移除了模态实体并呈现了两个按钮:一个是隐藏模态,另一个是从 DOM 中移除它。
我尝试使用window.activeElement 将焦点显式设置为根页面上的不同元素。(您可以在演示中查看),尝试在iframe 或iframe.contentWindow 上调用.blur() 方法。
在我的应用程序中<iframe> 隐藏,但我已尝试将其从页面中删除。
当前行为:
- 用户开始在
<input>在<iframe>中输入内容 - iOS 键盘打开
- 移除/隐藏 iframe
- 即使
<input>不存在或隐藏,iOS 键盘仍然打开。
我假设如果不再显示任何触发它的元素,则应该隐藏键盘,就像在 Android/Chrome 上所做的那样。
在这种情况下我有几个问题:
- 我可以在我的应用中以某种方式解决此问题吗?
- 如果是 iOS 或 WebKit 中的错误,Apple 或社区是否提供了一些错误跟踪器来解决此类问题?
【问题讨论】:
标签: javascript html ios safari webkit