Выбрать все содержимое поля с помощью плагина InputMask jQuery

Я использую подключаемый модуль jQuery inputMask и хочу выбрать все содержимое поля, когда поле становится в фокусе.

Вот что я пробовал до сих пор:

$('.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();   
});

Что тоже не сработало, как задумано.

Вместо этого позиция каретки просто переходит в конец строки.

Как я могу решить эту проблему?

ТИА,

Брэндон


person drummer392    schedule 27.02.2019    source источник


Ответы (2)


Когда на входе запущен экземпляр InputMask, кажется, что подключаемый модуль обрабатывает вещи< /em> в фокусе... Не спрашивайте меня что!

Но кажется, что если у вас setTimeout() короче 1 мс, 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">

person Louys Patrice Bessette    schedule 27.02.2019
comment
Не за что... В следующий раз, пожалуйста, не забудьте указать, какой именно плагин вы используете... Вы получите ответы быстрее. ;) - person Louys Patrice Bessette; 28.02.2019

Просто небольшое изменение кода, который вы написали, и он должен быть таким:

$(".numbers-only").focus(function(){
       $(this).select();
});
person Afrim Kafexholli    schedule 27.02.2019