不要为网页中的特定文本框显示 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 的用户代理。您可以通过服务器端代码或 javascript 的 navigator.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>
就够了。
【讨论】:
【参考方案4】:如果您想为 iphone/ipad/ipod 用户隐藏键盘,您必须识别此用户代理。我建议http://wurfl.sourceforge.net/ 查找这些设备的不同版本,然后在输入上打印readonly="true" disabled="disabled"
。
【讨论】:
【参考方案5】:我认为您无法真正禁用键盘,就像您通过 PC 或 Mac 浏览网页时无法真正禁用键盘一样。一种技巧是添加 JavaScript 来拦截 OnKeyPress(或 OnKeyDown)事件以拦截击键并根据用户代理取消它。我没有专门针对 iPhone 尝试过它,但是当我想限制启用的文本框上的输入类型(即取消电话号码字段中的字母字符)时,它适用于其他应用程序。由于“OnKey”事件在 iPhone 上仍然有效(由 Google 等具有自动完成功能的网站确定),因此该方法应该可以工作。
【讨论】:
以上是关于不要为网页中的特定文本框显示 iPhone 键盘? [复制]的主要内容,如果未能解决你的问题,请参考以下文章