OGeek|极客世界-中国程序员成长平台

标题: javascript - 在非文本元素的 Web 应用程序中触发 iOS 键盘 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:38
标题: javascript - 在非文本元素的 Web 应用程序中触发 iOS 键盘

我有一个使用 div 的 Web 应用程序,该 div 不是 contentEditable。相反,当 div 获得焦点时,我自己处理按键并插入/删除/更新 innerHTML,本质上是模拟 contentEditable div。

我不在乎它是否必须使用 javascript,但我需要一种从网络应用程序触发 iOS 键盘的方法。

我尝试在 div 上 float 一个不可见的文本区域,当它获得焦点时,我隐藏文本区域并将焦点对准 div。这可行,但是一旦聚焦非 contentEditable div,键盘就会消失。请注意,这个技巧在 iOS 5 之前一直有效。

必须有一种方法可以在用户在网络应用程序中进行交互后触发 iOS 键盘,即使我们不在文本元素上也是如此。有什么想法吗?



Best Answer-推荐答案


对于 WebApp,我也需要键盘。我希望它可以在 iOS 上运行,因此我创建了一些解决方法。

WebApp 本身使用键监听器来捕获按下的键(例如用于删除元素的退格键)。

我创建了一个高度、宽度和不透明度为零的文本字段。不要使用 display:none;visibility:hidden;。这会导致 iOS 的 Safari 不关注文本字段。

function popKeyboard() {
    document.getElementById("dummyText").focus();
}

<input type="text" id="dummyText" style="width:0px; height:0px; opacity:none;" />
<input type="button" value="show keyboard" onclick="popKeyboard();" />

我希望它可以帮助你(即使你在一年前问过)

关于javascript - 在非文本元素的 Web 应用程序中触发 iOS 键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358891/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4