使用InputMask jQuery插件选择所有字段内容

时间:2019-02-27 22:12:41

标签: jquery jquery-inputmask

我正在使用inputMask jQuery插件,并且希望在该字段成为焦点时选择该字段的全部内容。

这是我到目前为止尝试过的:

$('.numbers-only').inputmask("numeric", {
  radixPoint: ".",
  groupSeparator: ",",
  digits: 2,
  autoGroup: true,
  prefix: '',
  rightAlign: false,
  positionCaretOnClick: "select",
  oncleared: function () { self.Value(''); }
});

有人建议添加:

positionCaretOnClick: "select",

哪个没有用。字段内容未选中。

我也尝试过:

$(document).on('click, focus', '.highlight-on-focus', function() {
    $(this).select();   
});

这也没有按预期工作。

相反,插入符号的位置只是到达字符串的末尾。

我该如何解决这个问题?

TIA,

布兰登

2 个答案:

答案 0 :(得分:0)

对您编写的代码进行很小的更改,它应该像这样:

$(".numbers-only").focus(function(){
       $(this).select();
});

答案 1 :(得分:0)

InputMask的实例在输入上运行时,插件似乎专注于处理事物 ...不要问我什么!

但是,如果您有一个setTimeout()短至1ms,那么select()就可以工作。

看看下面的链式.on()方法。 ;)

$(document).ready(function(){
  $('.numbers-only').inputmask("numeric", {
    radixPoint: ".",
    groupSeparator: ",",
    digits: 2,
    autoGroup: true,
    prefix: '',
    rightAlign: false,
    //positionCaretOnClick: "select",
    oncleared: function () { self.Value(''); }
  }).on("focus",function(){
    var that = $(this);
    setTimeout(function(){
      that.select();
    },1)
  });
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/css/inputmask.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/jquery.inputmask.bundle.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.numeric.extensions.js"></script>

<input class="numbers-only" value="2200.23">