У меня есть приложение для планшета html. Некоторые страницы <input>
и <textarea>
вместе со многими другими элементами: ссылки, меню, тексты, ...Windows 10 Tablet Browser: soft keyboard very buggy
- Если я не нажать любую
<input>
или<textarea>
все работает нормально - Как только я нажимаю один вход элемент, появляется мягкая клавиатура (как и ожидалось).
- После ввода текст и скрытия клавиатуры, клавиатура всплывает снова каждый раз, когда я нажимаю на любом веб-приложение (даже в не форматируемых элементов)
Это полностью разрушает опыт, как вы вынуждены для использования веб-приложения с постоянно отображаемой клавиатурой.
Я пробовал много разных подходов к управлению фокусом ввода без каких-либо успехов, например, для вызова blur()
, focus()
и связанных с ним методов на сфокусированном компоненте, контейнерах, окнах ... но кажется ничего, кроме перезагрузки страницы, сбрасывает состояние клавиатуры на спрячьтесь еще раз, пока не будет задействован фокусируемый элемент.
Мои эксперименты:
Проверил, что нажатие вне
<INPUT>/<TEXTAREA>
вызывает фокус должен быть удален:onblur()
вызывается, иdocument.activeElement
возвращает NULL.Также пытался вручную установить
blur()
все в документе после запускаonchange
:$("input,textarea").blur()
.Пробовал вручную давая
focus()
к неинтерактивному элементу с TabIndex (Hacky):<div id="dummyfocus" tabindex="0"> $("#dummyfocus").focus()
я проверил, что фиктивный элемент фактически получает фокус,
input/textarea
unfocuses, но даже в в этом случае проблема сохраняется.
В Android или IOS все работает, как ожидалось: Клавиатура будет автоматически не показывать, если нет <input>
или <textarea>
сфокусирован.
Любые советы? Любые фанки, написанные на основе microsoft-css-тегов, о которых я не слышал? :)
Спасибо за подсказку. Я также нашел этот способ обхода, но, к сожалению, не решает проблему (вам нужно добавить 'tabindex = x' для каждого элемента в DOM), и даже в этом случае много раз всплывающая клавиатура исчезает, когда вы щелкните элемент tabindexed. Насколько я исследовал эту проблему, я все больше убеждаюсь, что это (очень раздражающая) ошибка :( – rupps