2015-07-31 1 views
0

Клавиатура открывается, когда отображается новое представление. Код native-c показывает, что выдается уведомление keyboardWillShow.Кордова iOs показывает Клавиатура без причины в SAPUI5 Приложение на просмотр Trasition

Отладчик Safari показывает, что тег тела HTML активен при открытии клавиатуры. Кажется, это не имеет никакого смысла.

Является ли это ошибкой Safari? Как я могу это решить? Мне нужно предотвратить открытие клавиатуры. Или лучше узнать, что заставляет клавиатуру открываться.

Мой первый подход заключался в вызове document.getElementById(document.activeElement.id).blur(), это работает до тех пор, пока работает отладчик. Вероятно, проблема в сроках (клавиатура должна быть открыта прежде, чем ее можно будет снова закрыть).

ответ

0

Вы имеете в виду переходы просмотра в контроллере NavContainer/App? Этот элемент управления фокусирует первый настраиваемый элемент на новой странице/представлении - и если это поле ввода, это может открыть клавиатуру на сенсорных устройствах. Это ваша ситуация?

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

+0

ok, я попробую это и дам обновление –

+0

не работает, потому что 'document.activeElement' является телом HTML-сайта. Любые другие предложения? –

+0

Хм, вы говорите, что клавиатура открывается без фокуса в поле ввода? Это странно. На самом деле вызов blur() на сфокусированном поле ввода должен даже закрывать клавиатуру. Клавиатура открыта с фокусом на теле, не имеет большого смысла ... нет идеи ... (Кстати: в 1.30 у контроллера NavContainer/App скорее всего будет свойство «autoFocus», в котором поведение фокуса может быть отключено. Это добавляется, когда мы говорим.) – akudev

Смежные вопросы