在动态插入的输入上设置jquery掩码?

我正在尝试以down格式进行操作,但没有成功。

新输入将丢失掩码。

有人可以帮我吗?

<div class="control">
<input type="text" name="item_valor" placeholder="Valor" class="input valor" maxlength="255" id="id_item_valor">
</div>




 $(document).ready(function(){
        $('.valor').mask("#.##0,00", {reverse: true});
    });




$(document).on('click', '#addItem', function () {
var newElement = $('.control:last').clone(true);
$('.control:last').after(newElement);
})

最佳答案

像这样在输入焦点上设置遮罩

$(document).on("focus", ".valor", function() {
    $(this).mask("#.##0,00", {reverse: true});
  });


您可以将其从document.ready函数中删除,也可以将其缩短为1行,而不是克隆和附加2行

$('.control:last').after($('.control:last').clone());


这是一个工作的小提琴https://jsfiddle.net/tv7w3Lku/3/

旁注:克隆具有ID的元素将创建具有相同ID的多个元素,这可能不是最好的方法,在这种情况下,您应该坚持使用类

09-30 13:26