HTML Mobile – 强制软键盘隐藏

我正在开发一个优惠券公司的前端网站,我有一个页面,用户只需要input电话号码和$$花费。 我们想出了一个有趣的使用Javascript构build的屏幕键盘,使用起来很方便,速度也很快。 但是,我正在寻找一种解决scheme,以防止在用户对焦并在这些字段中input文本/数字时popup软键盘。

我知道HTML5提出的“数字/电话/电子邮件”types属性。 但是,冒着疯狂的风险,我真的只想使用我的屏幕键盘。

注意:这个网站主要针对平板电脑

谢谢。

Solutions Collecting From Web of "HTML Mobile – 强制软键盘隐藏"

由于软键盘是操作系统的一部分,通常情况下,您将无法将其隐藏起来 – 同样,在iOS上,隐藏键盘会从元素中隐藏焦点。

但是,如果在input上使用onFocus属性,然后立即blur()文本input,则键盘将自行隐藏, onFocus事件可以设置variables以定义最后聚焦的文本input。

然后改变你的页面键盘,只改变最后聚焦(检查使用variables)文本input,而不是模拟按键。

斯科特S的答案完美。

我编写了一个基于networking的移动电话拨号盘,每当用户按下键盘上的一个数字(由表格中的td span元素组成),软键盘就会popup。 我也希望用户不能进入拨打号码的input框。 这实际上解决了一枪中的两个问题。 以下是使用:

 <input type="text" id="phone-number" onfocus="blur();" /> 

对于更多的读者/search者:

正如Rene Pot在这个话题上指出的那样,

通过将input字段设置为readonly="true"您应该防止任何人input任何内容,但仍然可以在其上启动点击事件。

使用这种方法,你可以避免popup“软”键盘,仍然启动点击事件/填写input的任何屏​​幕上的键盘。

这种解决scheme也适用于通常已经实现控制的dateselect器。

例如我如何做到这一点,我填充后最大长度将从我的领域模糊(和键盘将消失),如果你有多个领域,你可以只添加我添加的行'//'

 var MaxLength = 8; $(document).ready(function () { $('#MyTB').keyup(function () { if ($(this).val().length >= MaxLength) { $('#MyTB').blur(); // $('#MyTB2').focus(); } }); });