• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

javascript - 在非文本元素的 Web 应用程序中触发 iOS 键盘

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:38:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个使用 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap