jQuery 屏蔽输入插件 : Wrong cursor position in Phone Masking

标签 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。

最佳答案

下面是简单易行的示例。我已经使用 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/

相关文章:

javascript - 是否可以为 jQuery 掩码添加后缀?

jQuery Mobile 无法读取触发器 'options' 上未定义的 ('pagecreate' )

javascript - 如何防止该函数在x毫秒内执行超过2次?

javascript - 平移图像 jQuery 插件

jquery - 有没有办法取消 jQuery Cycle2 插件中的事件?

javascript - jQuery mask 插件翻译设置默认值?

html - jquery 移动输入屏蔽不起作用

javascript - 在 .each 函数中等待 $.ajax 结果

jQuery - 更改表单中的部分内容

javascript - Jquery - 使用 Lightbox 在类别页面上显示图像