【问题标题】:jquery.inputmask - set value in "oncomplete" callback makes incorrect actionjquery.inputmask - 在“oncomplete”回调中设置值会导致不正确的操作
【发布时间】:2015-12-15 00:23:51
【问题描述】:

如果在“oncomplete”回调中使用其他屏蔽输入进行 setVal 操作,您可以在 Chrome 和 Safary 中看到不正确的反应,在 FF 中可以正常工作

oncomplete: function(e){
    $('.i-input-2').val($(e.currentTarget).inputmask('unmaskedvalue'));
}

演示:http://jsfiddle.net/serGlazkov/nxLzq82o/

【问题讨论】:

    标签: javascript google-chrome safari webkit jquery-inputmask


    【解决方案1】:

    您似乎发现了 jQuery inputmask 插件的一个严重错误。使用 autoGroupdigitsOptional 选项时,有一些激进的插入符号位置处理。当与多个屏蔽输入实例结合使用时,它会导致插入符号在每次击键后移动到索引 0。

    currency 掩码与以下选项一起使用将为您提供最一致的界面。

    $('.i-input-1').inputmask({
        alias: 'currency',
        rightAlign: false,
        digits: 2,
        oncomplete: function (e) {
            var currVal = $(e.currentTarget).inputmask('unmaskedvalue');
            copyValue1(currVal);
        }
    });
    
    $('.i-input-2').inputmask({
        alias: 'currency',
        rightAlign: false,
        digits: 2
    });
    
    function copyValue1(str){
        $('.i-input-2').val(str);
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="https://dev.vanare.net/bundles/vanarewebsite/js/jquery.inputmask.bundle.min.js"></script>
    <input type="text" class="i-input-1" value="100">
    <input type="text" class="i-input-2" value="555" disabled="disabled">

    【讨论】:

    • 如果再次出现“digits: 0”错误
    【解决方案2】:

    现在这个错误已在 3.2.2 版本中修复

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 2014-01-26
      • 1970-01-01
      • 2016-10-27
      • 2015-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多