我正在开发优惠券公司的前端网站,我有一个页面,用户只需输入电话号码和$$花费。我们想出了一个有趣的使用Javascript构建的屏幕键盘,易于使用且速度更快。但是,我正在寻找一种解决方案,在用户对焦并在这些字段中输入文本/数字时停止弹出软键盘。HTML手机 - 强制软键盘隐藏
我知道HTML5提出的“数字/电话/电子邮件”类型属性。但是,冒着疯狂的风险,我真的只想使用我的屏幕键盘。
注意:本网站主要针对平板电脑。
谢谢。
我正在开发优惠券公司的前端网站,我有一个页面,用户只需输入电话号码和$$花费。我们想出了一个有趣的使用Javascript构建的屏幕键盘,易于使用且速度更快。但是,我正在寻找一种解决方案,在用户对焦并在这些字段中输入文本/数字时停止弹出软键盘。HTML手机 - 强制软键盘隐藏
我知道HTML5提出的“数字/电话/电子邮件”类型属性。但是,冒着疯狂的风险,我真的只想使用我的屏幕键盘。
注意:本网站主要针对平板电脑。
谢谢。
由于软键盘是操作系统的一部分,通常情况下,您将无法隐藏它 - 同样,在iOS上,隐藏键盘会从元素中隐藏焦点。
但是,如果你使用的输入onFocus
属性,然后blur()
文本输入立即,键盘会隐藏自身和onFocus
事件可以设置一个变量来定义其文本输入集中最后。
然后改变你的页面键盘,只改变最后聚焦(使用变量检查)文本输入,而不是模拟按键。
谢谢Scott。当您使用常规的HTML表单进行测试时,如果没有屏幕上的键盘,您的建议可以很好地工作。看来我正在实现的jquery mobile或我正在使用的键盘对象正在创建他们自己的焦点事件,我还没有找到('焦点'是名称空间在库中某处)。就目前而言,我们的客户喜欢这个想法,但软键盘一直在弹出的事实已经关闭,所以我们正在放弃这个功能。 :( 我感兴趣的工作,所以如果有人有兴趣,这里是键盘库: https://github.com/Mottie/Keyboard – crodica
只是一个想法 - 如果你把一个透明的div会发生什么在每个输入,然后使用的onClick方法例如:'
斯科特S的答案完美无缺。
我正在为移动设备编写基于网络的电话拨号盘,每当用户按键盘上的数字(由表格中的td span元素组成)时,软键盘就会弹出。我还希望用户不能进入拨打号码的输入框。这实际上解决了一枪中的两个问题。下面使用:
<input type="text" id="phone-number" onfocus="blur();" />
其实,这个答案为我工作好。 (@ScottS)的答案,并不尊重他的回答,我怀疑html输入语句和$(document).ready()之间经过的时间允许键盘触发,而onfocus = blur();会是至少在我的脑海中,速度更快,并且防止键盘开火, – HumbleBeginnings
如需进一步阅读器/搜索:
由于Rene Pot上this topic指出,
通过设置输入字段
readonly="true"
你应该避免 任何人输入任何东西它,但仍然能够启动一个点击 事件就可以了。
使用此方法,您可以避免弹出“软”键盘并仍然启动点击事件/通过任何屏幕键盘填充输入。
该解决方案也适用于通常已经实现控件的日期选择器。
示例我是如何做到的,在填充最大长度后,它将模糊我的 字段(并且键盘将消失),如果您有多个字段,则可以添加我添加的行'/ /'
var MaxLength = 8;
$(document).ready(function() {
$('#MyTB').keyup(function() {
if ($(this).val().length >= MaxLength) {
$('#MyTB').blur();
// $('#MyTB2').focus();
}
}); });
这是_is_疯狂。如果您使用标准输入字段,请使用标准输入法。 – egrunin
尽管如此,使用屏幕键盘还是有很多好处的,除此之外,使用和构建都很有趣。 其中之一,他们是高度可定制的,以密切关注您的观众的需求,第二安全,第三屏幕的房地产。;-) – crodica
啊,我看到我误解为“前端*应用*”的“前端*网站*”。用户对网站的期望更高。 – egrunin