我有一个要求,我需要将输入掩码应用于移动网站中使用的表单中的文本框。
例如:我在我的移动网站中使用了以下表格,其中电话号码需要根据标签中给出的示例文本进行屏蔽。我尝试使用不使用 jquery 插件来使其正常工作,但我发现它在 web 中完美运行,但无法在移动浏览器中运行。
我在网上看到其中一条评论说移动浏览器不依赖于 keypress 和 keydown 事件。真的吗 ?
我尝试使用自己的代码来实现解决方案(代码如下)
function formatPhone(e, node) {
var keycode = e.keyCode ? e.keyCode : e.which;
if(keycode == 8){ // backspace
return false;
}
if(keycode == 46){ // delete
return false;
}
var input = $(node).val();
input = input.replace(/-/g, '');
var areaCode = input.substring(0, 3);
var exchange = input.substring(3, 6);
var tail = input.substring(6);
$(node).val(areaCode + "-" + exchange + "-" + tail);
}
$('#${PRE_ID}Phone').keyup(function (e) { formatPhone(e, this); });
上面的代码在网络浏览器中可以工作,但是在移动端前 3 位可以正常工作,但是第 4 和第 5 位交换并且数字序列总是失败。而且,当您删除否时,并非所有数字都被删除。
我们是否有任何来自 jquery 的插件或任何代码片段来完成这项工作?
以下是我在移动默认浏览器中为 S2、S3、iPhone 尝试过的一些插件(但失败了)
面具 | jQuery 插件注册表 http://andr-04.github.io/inputmask-multi/en.html http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxmaskedinput/index.htm http://mavrin .github.io/maskInput/
先感谢您