jquery.inputmask - "oncomplete" 回调中的设置值导致错误操作

jquery.inputmask - set value in "oncomplete" callback makes incorrect action

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

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

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

您似乎发现了 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">

此错误已在 3.2.2 版本中修复