iOS - 删除带有焦点输入元素的 iFrame 可使光标可见并打开键盘

iOS - removing an iFrame with focused input element keeps the cursor visible and keyboard open

本文关键字:光标 键盘 iFrame 删除 焦点 元素 输入 iOS      更新时间:2023-09-26

在iOS中打开:https://jsfiddle.net/rLLvd18q/31/

我有一个页面托管带有输入元素的 iFrame。外页有一个按钮,用于从 DOM 中删除 iFrame。在iOS 9.3.2的Safari/Chrome中(我在iPhone 6s上测试过),在输入聚焦时单击该按钮会导致iFrame被删除,但光标在屏幕上保持闪烁。此外,键盘保持打开状态(单击键不执行任何操作)。关闭键盘后,单击屏幕中的其他任何位置会导致键盘再次弹出。

我已经尝试在单击按钮时从托管页面到iFrame时发布消息,然后单击按钮并执行

document.activeElement.blur()

在 iFrame 内。没用...我的想法快用完了...

我一直在尝试在我的项目中解决这个问题,我注意到 iframe 不是活动元素。一种可能的解决方法是以编程方式聚焦 iframe,然后对其进行模糊处理。

这对我来说很好用。我检查了iOS论坛,似乎这是一个iOS9网络视图错误,可能存在于iOS10中。