移动 Safari - 使用 Javascript 关闭键盘
Posted
技术标签:
【中文标题】移动 Safari - 使用 Javascript 关闭键盘【英文标题】:Mobile Safari - Dismiss Keyboard with Javascript 【发布时间】:2017-01-27 18:33:35 【问题描述】:我试图通过 JS 关闭键盘以响应按钮按下,但我没有任何运气。
设置:
-
我有一个
textarea
,上面绑定了接受和取消按钮。
点击取消按钮后,我的视图对象将调用textAreaElement.blur()
。
然后它将移除接受和取消按钮。
预期:
字段失去焦点(视觉和其他方面)。 键盘已关闭。实际:
字段似乎失去焦点(视觉上没有显示光标),并且以编程方式。 键盘仍然存在。我已经尝试过通常的 Google,但他们似乎都认为在焦点元素上调用 blur
就足够了。一位用户甚至建议致电$('input').blur()
以确保所有字段都被模糊,但这似乎并没有什么不同。
【问题讨论】:
【参考方案1】:...我刚刚弄清楚为什么会这样。
我提到我正在删除该字段的“接受”和“取消”按钮。具体发生了以下情况:
-
致电
textAreaElement.blur()
。
动画按钮消失。
动画完成后,buttons.remove()
。
当取消按钮收到点击时,它获得焦点(键盘保持活动状态)。当取消按钮随后在动画完成回调中被移除时,焦点被应用到前一个可聚焦元素,即textarea
。
所以我做了这样的效果:
textarea.blur() # 已经没有焦点了。 button.remove() # 移除按钮,将焦点重新应用到文本区域。
解决方案是:
-
动画按钮消失。
等待动画完成,
buttons.remove()
。
致电textAreaElement.blur()
。
【讨论】:
以上是关于移动 Safari - 使用 Javascript 关闭键盘的主要内容,如果未能解决你的问题,请参考以下文章
从 WKWebView 调用时,无法使用 JavaScript 在移动 Safari 中打开链接
如何使用 Javascript 在移动 Safari 和所有其他浏览器上录制音频?
如何在移动 Safari 中使用 javascript 突出显示文本选择
强制链接从带有 javascript 的 Web 应用程序在移动 Safari 中打开