Есть ли способ предотвратить ввод через стороннюю клавиатуру iOS?

Я заметил, что в некоторых полях <input> использование сторонней клавиатуры iOS, такой как Swype или SwiftKey, не всегда работает так хорошо, особенно когда есть события прослушивания, проверяющие нажатия клавиш. Есть ли способ заставить клавиатуру iOS переключиться на встроенную по умолчанию для определенных полей <input> или <textarea>?

Пример чего-то, что ведет себя по-разному между клавиатурой iOS и сторонними клавиатурами:

http://jessepollak.github.io/card/

Я хотел бы отметить, что проблема заключается в том, что сторонняя клавиатура не вызывает keyup, keypress и т. д. Вот почему я ищу способ заставить клавиатуру iOS.


person CaptSaltyJack    schedule 18.11.2014    source источник


Ответы (1)


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

person Aman Alshurafa    schedule 18.11.2014
comment
Проблема не в веб-коде, а в том, что сторонняя клавиатура, похоже, не вызывает события нажатия клавиш. - person CaptSaltyJack; 18.11.2014
comment
Не все клавиатуры вызывают события нажатия клавиш. Клавиатуры типа «пролистывание» возвращают одно целое слово за раз. Событие нажатия клавиши происходит, когда пользователь НАЖИМАЕТ клавишу. Это форма метода ввода, которая не поддерживается в веб-коде. Это не значит, что есть проблема с кодом. Это означает, что код должен развиваться, чтобы не отставать от таких изменений. - person Aman Alshurafa; 18.11.2014
comment
Что ж, независимо от любой из этих философий, первоначальный вопрос заключался в том, есть ли в HTML/HTML5 какой-либо способ заставить поле ввода/текстового поля принудительно использовать встроенную клавиатуру iOS. - person CaptSaltyJack; 18.11.2014
comment
Если вы не воспользуетесь советом, это не значит, что другие этого не сделают. Вот чем хороша эта платформа :) - person Aman Alshurafa; 18.11.2014
comment
Какой совет? Суть в том, что я не могу контролировать сторонние клавиатуры. И если мне нужно что-то сделать с событием keypress, это не сработает, если пользователь не использует клавиатуру iOS по умолчанию. Отсюда мой вопрос. Хорошим ответом могло бы быть что-то вроде «нет, в настоящее время это невозможно». - person CaptSaltyJack; 18.11.2014
comment
Суть в том, что программное обеспечение разрабатывается для удобства пользователя, а не разработчиков. Разработчики не должны контролировать, какой тип клавиатуры должен использовать пользователь. Однако они могут выбирать, поддерживать его или нет. И ДА, технически возможно предотвратить ввод через стороннюю клавиатуру iOS, отобразив собственную клавиатуру, но для многих это неприемлемое решение. - person Aman Alshurafa; 19.11.2014