jQuery Masked Input Plugin:手机屏蔽中的光标位置错误

时间:2017-04-18 05:11:37

标签: jquery jquery-plugins jquery-mask

我正在使用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。

1 个答案:

答案 0 :(得分:0)

下面简单易行的例子。我使用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> 
相关问题