网页中某个文本框不要显示iPhone键盘?

24

有没有设置可以让iPhone键盘不会在网页上的特定文本框中出现?也许是某种CSS设置吗?


抱歉关闭了这个问题。尽管年代更久远,但较新的(2011年)问题已经吸引了更好质量的答案。 - James Donnelly
5个回答

47

将输入框设置为readonly="true"/ 只读模式,这样键盘就不会弹出!


5
我刚试了一下,对我起作用了!我正在使用jqueryui日期选择器,不想弹出键盘。这个方法解决了问题。 - Ben Noland
4
这将不会显示光标,用户将无法看到他们的位置。有什么解决方法吗? - Nazerke

3

3

除了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

1

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


0

我不认为您能够真正地禁用键盘,就像您通过PC或Mac浏览网页时不能真正地禁用键盘一样。一个技巧是添加JavaScript来拦截OnKeyPress(或OnKeyDown)事件以拦截按键并基于用户代理进行取消。我尚未针对iPhone具体尝试过,但在其他应用程序中想要限制已启用文本框的输入类型(例如取消电话号码字段中的字母字符)时,它已经奏效。由于“OnKey”事件仍然有效于iPhone(由具有自动完成功能的站点确定),因此该方法应该有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接