И в библиотеке я использовал этот код, чтобы определить, нажимает ли пользователь ENTER:< /p>
Код: Выделить всё
function input_event() {
debug('input ' + no_keydown + ' || ' + process + ' ((' + no_keypress +
' || ' + dead_key + ') && !' + skip_insert + ' && (' + single_key +
' || ' + no_key + ') && !' + backspace + ')');
// correct for fake space used for select all context menu hack
var val = clip.val();
debug('command => ' + val + ' :: ' + command);
if (!is_mobile) {
val = val.replace(/^ /, '');
}
// Some Androids don't fire keypress - #39
// if there is dead_key we also need to grab real character #158
// Firefox/Android with google keyboard don't fire keydown and keyup #319
if (no_keydown || process || ((no_keypress || dead_key) &&
!skip_insert &&
(single_key || no_key) && !backspace)) {
if (val && val === command) {
if (is_android) {
// ignore autocomplete on GBoard keyboard #693
if (no_keydown) {
event('keydown', 'Enter', 13);
}
}
finalize_input_event();
return;
}
Проблема в том, что это не работает с точка после текста. Когда вы нажимаете точку, это вызывает событие ввода старого текста, которое вызывает ENTER. (Я не уверен, что это всегда так работало).
Итак, вопрос в том, как правильно обнаружить клавишу ENTER, когда все, что у вас есть, это событие ввода?Я использую элемент contenteditabe, поэтому не могу использовать отправку формы.
Это моя тестовая страница: https://terminal.jcubic.pl /andorid.php (содержимое отображается для облегчения отладки).
Подробнее здесь: https://stackoverflow.com/questions/791 ... on-android
Мобильная версия