Backspace не работает в поле ввода номера Ka iOS | Svelte3 - PullRequest
1 голос
/ 27 марта 2020

Я столкнулся с этой странной проблемой при разработке приложения для Ka iOS с использованием Svelte3. Когда в поле ввода установлено значение type, backspace не работает. На всех.

<input
 bind:this={ref}
 bind:value
 type="number" />

Когда он установлен на «текст», он работает отлично. Backspace удаляет символы при нажатии. Backspace в этом случае - кнопка «Call End» на устройствах Ka iOS. Я не знаю, это проблема Ка iOS или проблема Svelte3.

Я не очень разбираюсь в технологиях WebDev, поэтому я не знаю, что еще можно попробовать. Некоторая дополнительная информация, которая может указывать на что-то.

У меня есть один слушатель глобально

 window.addEventListener("keydown", onKeyDown, true);

, который прикреплен к моему KeyListener, который я использую для управления навигацией моего приложения через выбираемые элементы. Это также не срабатывает при нажатии клавиши Backspace, когда поле ввода имеет фокус. Вещи, которые я пробовал.

  • Назначение функций onkeydown, onkeyup, onkeypressed (ни одна из них не запускает вызов backspace)
  • Удален прослушиватель событий, о котором я упоминал выше, ничего не меняет.
  • Назначьте функции несложным способом как чистые JS встроенные функции.

На Ka iOS только при пожарах в режиме onkeydown, в случае, если любой из веб-разработчиков JS эксперт подсказка. Я не знаю, что еще делать. Любые предложения будут оценены.

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Мы понятия не имеем, почему это работает, но установка типа ввода на «tel» приводит к срабатыванию клавиши «Backspace» и к полям ввода, как обычно, при этом допускаются только цифры.

0 голосов
/ 28 марта 2020

Для обработки событий в окне вы можете использовать <svelte:window>. Например:

<svelte:window on:keypress={handleKeypress}/>

Но если все, что вам нужно, это контролировать нажатия клавиш на входе, вы можете сделать это на <input> напрямую с помощью <input on:keypress={...}/>.

Вот пример обработки нажатия клавиши на входе: https://svelte.dev/repl/bfd93b0799c142979eefa1f2558bfb96?version=3.20.1

...