有没有设置可以让iPhone键盘不会在网页上的特定文本框中出现?也许是某种CSS设置吗?
有没有设置可以让iPhone键盘不会在网页上的特定文本框中出现?也许是某种CSS设置吗?
将输入框设置为readonly="true"/ 只读模式,这样键盘就不会弹出!
<input type="text" readonly>
就足够了。除了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
如果您想要为iPhone/iPad/iPod用户隐藏键盘,您必须识别这些用户代理。我建议使用http://wurfl.sourceforge.net/来查找这些设备的不同版本,然后在输入框中打印readonly="true" disabled="disabled"
。
我不认为您能够真正地禁用键盘,就像您通过PC或Mac浏览网页时不能真正地禁用键盘一样。一个技巧是添加JavaScript来拦截OnKeyPress(或OnKeyDown)事件以拦截按键并基于用户代理进行取消。我尚未针对iPhone具体尝试过,但在其他应用程序中想要限制已启用文本框的输入类型(例如取消电话号码字段中的字母字符)时,它已经奏效。由于“OnKey”事件仍然有效于iPhone(由具有自动完成功能的站点确定),因此该方法应该有效。