我正在使用 jQuery 插件 (jquery.mask.js-v1.14.10) 以以下格式屏蔽电话号码:- (000) 000-0000。
我正在使用下面的 jQuery 代码:-
$("body").on("input propertychange", ".USMobileFormat", function (e) {
$(this).attr('maxlength', '14');
$(this).mask('(000) 000-0000');
});
当我输入第一个数字时,鼠标光标出现在输入的数字之前。
例如:- 假设我的电话号码是 586**** ,这里第一个数字是 5,我输入了它,然后光标出现在 5 之前,因此当我输入第二个数字(这里是 8)时会产生问题,所以我输入的号码将是“(85”。
我还面临一个问题:-当我替换电话号码的倒数第二位时,光标转到文本框的最后一个位置(应该位于倒数第二个位置),这也是错误的。 TIA。
最佳答案
下面是简单易行的示例。我已经使用 Ace-Admin 主题 jquery 手机面具。 您可以打开链接保存它,用作本地
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
<input class="form-control input-sm input-mask-phone valid" id="PhoneNumber" name="PhoneNumber" type="text" value="">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="http://ace.jeka.by/assets/js/jquery.maskedinput.min.js"></script>
<script>
jQuery(function ($) {
$.mask.definitions['~'] = '[+-]';
$('.input-mask-phone').mask('(999) 999-9999');
});
</script>
</body>
</html>
关于jQuery 屏蔽输入插件 : Wrong cursor position in Phone Masking,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43464040/