我有一个使用 div 的 Web 应用程序,该 div 不是 contentEditable。相反,当 div 获得焦点时,我自己处理按键并插入/删除/更新 innerHTML,本质上是模拟 contentEditable div。
我不在乎它是否必须使用 javascript,但我需要一种从网络应用程序触发 iOS 键盘的方法。
我尝试在 div 上 float 一个不可见的文本区域,当它获得焦点时,我隐藏文本区域并将焦点对准 div。这可行,但是一旦聚焦非 contentEditable div,键盘就会消失。请注意,这个技巧在 iOS 5 之前一直有效。
必须有一种方法可以在用户在网络应用程序中进行交互后触发 iOS 键盘,即使我们不在文本元素上也是如此。有什么想法吗?
Best Answer-推荐答案 strong>
对于 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/
|