Как я могу исправить проблему с переходом в конец пишущей машинки с курсором во время преобразования номера в JavaScriptJquery

Программирование на jquery
Ответить
Anonymous
 Как я могу исправить проблему с переходом в конец пишущей машинки с курсором во время преобразования номера в JavaScript

Сообщение Anonymous »

По вопросам Каково решение и правильный способ преобразования цифр в JavaScript? и Как преобразовать числа в JavaScript и проблемы с командами удаления нечисловых символов на клавиатуре с вводом Tel хочу выразить еще одну проблему.
Разницы в том, какой метод преобразования чисел нет. Однако во всех методах у меня с этим возникает небольшая проблема.
Моя проблема в том, что указатель пишущей машинки на клавиатуре перескакивает в конец, если я выбираю число в середине чисел с помощью мыши или коснитесь (на мобильном телефоне) и измените один или несколько номеров. Пожалуйста, посмотрите это изображение, вставленное ниже для пояснения. Я также добавил ссылку JSFiddle.
Изображение
< /p>
https://jsfiddle.net/paulvek/4js965fr/7/

Код: Выделить всё

const phoneNumberInput = document.getElementById('phoneNumberInput');
phoneNumberInput.addEventListener('input', (event) => {
const phoneNumberValue = event.target.value;
const englishPhoneNumberValue = toEnglishDigits(phoneNumberValue);
const numericPhoneValue = englishPhoneNumberValue.replace(/[^\d۰-۹٠-٩]/g, ''); // Added line
event.target.value = numericPhoneValue;
});

function toEnglishDigits(str) {
const persianNumbers = ["۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹", "۰"];
const arabicNumbers = ["١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩", "٠"];
const englishNumbers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"];

return str.split("").map(c => englishNumbers[persianNumbers.indexOf(c)] ||
englishNumbers[arabicNumbers.indexOf(c)] || c).join("")
}


Если пользователь выбирает одну из средних цифр с помощью английской клавиатуры и меняет он там изменится, и мигающий индикатор типа указателя того же типа останется там.
Но если он/она выберет и изменит одну из средних цифр с помощью персидской или арабской клавиатуры , изменение выполнено правильно. Но проблема в том, что текстовый курсор перескакивает в конец.
Эта проблема возникает только при вводе или вставке текста на фарси и арабском языке. В чем может быть проблема?
Только тогда, когда он хочет выбрать среди чисел два или три числа и изменить их. При написании первого числа он перескакивает в конец, а затем вторая цифра, которая должна была быть написана рядом с первой цифрой в том же месте, которое он выбрал, уходит в конец, и это все портит. Если вы проверите, то увидите, что с английским такой проблемы нет.

Подробнее здесь: https://stackoverflow.com/questions/778 ... r-in-javas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»