safari - iOS10 Safari 键盘弹出窗口

标签 safari keyboard ios10

我有一个单页网络应用程序。每次我点击屏幕时都会弹出键盘。

DOM 中根本没有文本输入框。

如何调试键盘弹出的原因。

您可以在https://blight.ironhelmet.com查看这种奇怪行为的示例。和 https://np.ironhelmet.com


更新一条线索:用户现在报告说,在下拉菜单从 DOM 中删除很久之后,一直弹出下拉选择旋转器,而不是键盘。

最佳答案

对于 React 用户:

我在使用 React-Router 的 React 单页应用程序中也发生了同样的事情。我没有编写代码来从 DOM 中删除元素,但 React 当然可以为您做到这一点。

在我的网站上,有一些包含一到四个输入字段的 React 组件。任何此类组件出现后,然后被隐藏(卸载/不再渲染),然后每当用户点击链接时,键盘都会弹出。这使得该网站无法使用。让它停止的唯一方法是重新加载页面。

解决方法:调用 document.activeElement.blur()componentWillUnmount 对于我的 <input> 周围的包装组件字段达到了目的。

componentWillUnmount()
{
  if (document && document.activeElement)
  {
    document.activeElement.blur();
  }
}

请注意,调用 window.activeElement.blur() 似乎没有执行任何操作。

Apple 支持论坛中有一个关于此问题的帖子: https://discussions.apple.com/thread/7692319

关于safari - iOS10 Safari 键盘弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39802896/

相关文章:

xcode - GIDSignIn 钥匙串(keychain)错误 iOS 10 Xcode 8

html - 仅在 safari 中无法在输入字段中写入

javascript - 键盘小键盘分隔键 COMMA 与 DOT

css - IE11 和 Safari 上的 Flexbox 布局中的文本重叠

javascript - 捕获多个 "onkeydown"并等待 "onkeyup"执行

function - 键盘功能有问题?

ios - iOS 10 中 CTCallStateIncoming 的模拟是什么?

swift3 - xcode 8 PHPhotoLibrary.requestAuthorization 导致崩溃

javascript - window.onresize 在 iPad 上连续调用

javascript - iOS 12 浏览器 : Is there a way to make web-based QR Scanning work?