不要为网页中的特定文本框显示 iPhone 键盘? [复制]

Posted

技术标签:

【中文标题】不要为网页中的特定文本框显示 iPhone 键盘? [复制]【英文标题】:Don't show iPhone keyboard for a particular textbox in web page? [duplicate] 【发布时间】:2010-09-23 22:56:52 【问题描述】:

是否有任何设置使 iPhone 键盘不会出现在网页中的特定文本框中?可能是某种 css 设置?

【问题讨论】:

抱歉关闭这个。尽管年代久远,但较新的问题(2011 年)吸引了更高质量的答案。 【参考方案1】:

您只需将输入字段设置为 readonly="true"/ 只读模式,这样键盘就不会出现!

【讨论】:

我刚试过这个,它对我有用!我正在使用 jqueryui datepicker 并且不希望键盘弹出。这成功了。 这不会显示光标,用户将无法看到他们所在的位置。有什么解决方案吗?【参考方案2】:

您希望文本框可以在 iPhone 以外的任何其他浏览器上编辑吗?如果没有,您是否尝试禁用文本框?我没有尝试过,也不记得在我的 iPhone 上看到过一个禁用的文本框;但是,它可能会这样做。

如果禁用文本框有效,但您仍只想将其限制在 iPhone 上,则需要查看 iPhone 的用户代理。您可以通过服务器端代码或 javascriptnavigator.userAgent 来确定这一点。

为了节省更多时间,iPhone 的用户代理如下:

Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (Khtml, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3

【讨论】:

【参考方案3】:

请记住,readonly="true" 不是必需的。

<input type="text" readonly> 就够了。

W3Schools *** Answer 30 May 2011 HTML Living Standard

【讨论】:

【参考方案4】:

如果您想为 iphone/ipad/ipod 用户隐藏键盘,您必须识别此用户代理。我建议http://wurfl.sourceforge.net/ 查找这些设备的不同版本,然后在输入上打印readonly="true" disabled="disabled"

【讨论】:

【参考方案5】:

我认为您无法真正禁用键盘,就像您通过 PC 或 Mac 浏览网页时无法真正禁用键盘一样。一种技巧是添加 JavaScript 来拦截 OnKeyPress(或 OnKeyDown)事件以拦截击键并根据用户代理取消它。我没有专门针对 iPhone 尝试过它,但是当我想限制启用的文本框上的输入类型(即取消电话号码字段中的字母字符)时,它适用于其他应用程序。由于“OnKey”事件在 iPhone 上仍然有效(由 Google 等具有自动完成功能的网站确定),因此该方法应该可以工作。

【讨论】:

以上是关于不要为网页中的特定文本框显示 iPhone 键盘? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

iPhone:滚动网页视图时需要保持键盘向上吗?

网页版批量提取目录下特定文件类型

按下输入文本框时Android键盘不显示

在自定义视图上显示弹出菜单时不要关闭键盘

HTML/JavaScript - 为文本框输入激活键盘麦克风

当用户在 iPhone App 的 UITextField 中输入值时,如何显示特定语言键盘?