Здравствуйте, есть маска для телефона, на ПК всё работает нормально, на Андроиде и IOS - курсор внутри поля не стоит вначале, а стоит там куда ткнули пальцем. Т.е. получается, что человек набирает не "+7 999 99 __" , а "+7 ___ _1 23". Т.е. набор текста происходит не сначала.
Решил принудительно выставить позицию курсора в самое начало, на андроиде получилось, но на IOS - всё осталось так же. Ниже код:
var DOM_inputs = $('input[name=phone]');
$.fn.selectRange = function(start, end) {
if(end === undefined) {
end = start;
}
return this.each(function() {
if('selectionStart' in this) {
this.selectionStart = start;
this.selectionEnd = end;
} else if(this.setSelectionRange) {
this.setSelectionRange(start, end);
} else if(this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
range.moveEnd('character', end);
range.moveStart('character', start);
range.select();
}
});
};
DOM_inputs.inputmask({
"mask": "+9 (999) 999 99 99",
"autoclear": false
// ,
// "placeholder": ' ',
// "oncomplete": function(){
// }
});
DOM_inputs.on('change click keyup', function(){
var val = $(this).val();
num = val.indexOf('_');
console.log(num);
if(num>=0)
{
$(this).selectRange(num);
}
else{
$(this).selectRange(1);
}
});
Помогите, пожалуйста.