jQuery Mobile Force скрывает программную клавиатуру для фокусировки поля ввода текста - PullRequest
6 голосов
/ 01 ноября 2011

У меня есть поле даты на сайте PHP, и я использую jQuery Mobile для мобильного сайта.

При просмотре сайта в мобильном браузере (например, Firefox Mobile на Android) при нажатии на ввод текста даты появляется диалоговое окно календаря, но на моем андроиде также появляется программная клавиатура (программная клавиатура появляется всякий раз, когда один фокусируется на поле ввода) Есть ли способ, которым можно принудительно скрыть программную клавиатуру? Существует ли общий трюк, основанный на javascript, чтобы скрыть программную клавиатуру (которая работает на всех мобильных устройствах, таких как iphone, android и т. Д.?

Я использую jQuery Mobile datepicker из здесь ТИА

Ответы [ 4 ]

7 голосов
/ 08 августа 2013

Более простое решение - добавить readonly = "true" в поля ввода, к которым прикреплен указатель даты.Даже если вы не можете ввести дату вручную, на мобильном телефоне вам не придется сталкиваться с тем, что клавиатура всплывает и мешает

4 голосов
/ 29 октября 2012

Только что нашел ответ на мой вопрос. (Думаю, я не искал с правильными ключевыми словами ранее: - |)

Добавление события размытия jQuery в фокусе решает проблему.

Благодаря этой записи Дэнни C

0 голосов
/ 08 апреля 2015

добавьте атрибут readonly в поле даты. (или readonly = "только для чтения") input type = "text" data-role = "date" только для чтения

Для JQM добавьте следующие файлы jqm.datepicker.css, jqm.datepicker.theme.css, jqueryUI.js, jqm.datepicker.js

0 голосов
/ 27 июня 2012

Мой обходной путь (хотя я использую другой плагин: datebox от jtsage.com) в настоящее время следующий:

  • установить отключенный атрибут на входе
  • bind aобработчик щелчка для входа или его родительского элемента
  • обработчик щелчка вызывает .datebox ('open') на выбранном элементе

Таким образом, элемент фокусировки отсутствует, поэтому запуск Android отсутствуетмягкая клавиатура.

...