【发布时间】:2015-06-12 21:54:03
【问题描述】:
我正在为一个语言学习网站设计一个外语键盘,它可以在按键上显示适当的字符,而无需用户安装任何额外的东西。它在带有物理键盘的台式机或笔记本电脑上工作得很好,但是,当它在移动设备上激活时,内置键盘也会显示在屏幕上。有没有办法在不调出软键盘的情况下聚焦文本光标,以便物理键盘仍然可以与它以及我的 HTML-JS 键盘进行交互?
【问题讨论】:
我正在为一个语言学习网站设计一个外语键盘,它可以在按键上显示适当的字符,而无需用户安装任何额外的东西。它在带有物理键盘的台式机或笔记本电脑上工作得很好,但是,当它在移动设备上激活时,内置键盘也会显示在屏幕上。有没有办法在不调出软键盘的情况下聚焦文本光标,以便物理键盘仍然可以与它以及我的 HTML-JS 键盘进行交互?
【问题讨论】:
将readonly 属性设置为输入元素似乎可行。我在 WP 设备上使用 IE 和 Android 设备上的 Chrome 对此进行了测试。
<input type="text" id="input" readonly="readonly" />
我创建了一个快速demo here
至于光标,我认为您可以使用管道字符(“|”)和一些字符串突变来模拟它。
【讨论】:
| 的宽度为零,但仍显示 3. ... 缺点:1. 需要浏览器/平台嗅探才能在台式机和移动设备上工作2. 需要为每个不同的代码(我不想阻止键盘输入,我只是不想要两个立即显示屏幕!)3.对于非拉丁文字(例如东亚文字)在 Unicode 代码点和字符字形之间具有复杂关系可能不太适用4.可能需要相当多的代码才能开始工作(反正不会那么小!)