Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вызов клавиатуры на мобильных устройствах (https://javascript.ru/forum/dom-window/53278-vyzov-klaviatury-na-mobilnykh-ustrojjstvakh.html)

gekass1 28.01.2015 01:34

Вызов клавиатуры на мобильных устройствах
 
Есть стандартные методы, которые позволяют вызвать клавиатуру на мобильном девайсе? По логике documentGetElementById("id").focus() должно было хватить, но тут запара.. курсор ставится, а клавиатура таки не вызывается. Как её вызвать принудительно?

danik.js 28.01.2015 01:58

Цитата:

Сообщение от gekass1
курсор ставится, а клавиатура таки не вызывается

Клавиатура появится если ты будешь вызывать focus() допустим из обработчика события onclick. Иначе никак.
И не плоди темы. Основные разделы по JavaScript тут все равно условные и непродуманные.

gekass1 28.01.2015 02:52

Ок, тогда следующий вопрос: каким образом при загрузке страницы можно искусственно сэмулировать oncklick? $(".input-login").trigger("click") не срабатывает

danik.js 28.01.2015 03:07

Цитата:

Сообщение от gekass1
не срабатывает

Забыл добавить. Событие должно быть инициировано пользователем.
Объясни, что ты хочешь сделать? Про атрибут autofocus на инпутах знаешь?

gekass1 28.01.2015 03:16

Знаю про autofocus - результат не достигается. Событие click по дефолту для инпута инициализировано таким образом, что фокусит его. Но все же, я его переопределил.
$(document).ready(function(){

$(".input-login").trigger("click");

$(".input-login").click(function(){
$(this).focus();
});
});

Не срабатывает. Клик не вызывается.

А суть вот в чем: При загрузке страницы необходимо сразу фокусить input, и на мобильных девайсах должна появляться клавиатура. Инпут фокусится, а клавиатура не появляется.

gekass1 28.01.2015 03:27

Перенес вызов trigger ниже переопределения click - заработало. Фокус ставится. Клавиатура по прежнему не вызывается :help:

danik.js 28.01.2015 04:45

Действительно, autofocus не вызывает клавиатуру. Значит, без клика пользователя никак не сделать.


Часовой пояс GMT +3, время: 23:53.