是否覆盖网站上文本输入区域的默认移动设备键盘?(HTML/JS/jQuery)

Override default mobile device keyboard for text input area on website? (HTML/JS/jQuery)

本文关键字:键盘 HTML jQuery JS 移动 网站 覆盖 文本 输入 默认 区域      更新时间:2024-05-20

我接到了一项任务,到目前为止,我认为这可能是不可能的。我想知道是否有可能在文本输入区(在移动设备上)覆盖默认的系统键盘进行输入。

假设操作系统是安卓系统。有没有办法让移动网站在点击文本输入区时不显示默认的系统键盘?我对编程有一点了解,所以我知道在应用程序中使用Java是可能的,但这超出了这个特定问题的范围。

例如,假设你在网站上有一个数字输入字段。您是否可以使用某种形式的Javascript(如onFocus、onBlur等)或媒体查询来显示用于数据输入的自定义弹出键盘,并以某种方式告诉设备不要显示其默认的文本输入方法?

我读过一些关于jQuery日期选择器的其他问题,在该问题中,可以通过使元素只读或类似的方式来隐藏键盘,但问题是我的元素仍然需要能够接受输入。

我发现的唯一一个类似的问题就在这里。唉,它也没有答案。

值得一提的是,这项任务与数学有关,弹出式键盘输入将提供仅与问题相关的有限答案输入可能性,而不需要完整的键盘,而且对于手头的任务来说往往过于夸张。

编辑:此外,强制使用纯数字输入键盘是不可接受的解决方案,因为输入(在某些情况下)将需要分数条和/或变量,如xy

您可以在现代浏览器中将输入字段标记为只读,例如

<input name="TextBox1" type="text" id="TextBox1" readonly="readonly" />

您可以设置焦点和光标,但不能编辑此输入(不会弹出默认菜单)。现在,您可以构建自定义键盘,并使用js设置相应的值。听起来很容易,但事实并非如此——你必须确保输入字段在输入过程中保持可见,因此可能需要重新思考你的页面布局。