autofocus по timeout в iOS как?

Sahh

Постоялец
Регистрация
5 Апр 2014
Сообщения
169
Реакции
135
Как заставить экранную клавиатуру выскакивать по нажатию на '.sticky-search' с задержкой в 400ms ??

есть у меня такой нарядный код
Код:
//my temp code
jQuery(document).ready(function($) {
    $('input, textarea').placeholder();
  
    $('.typo-navigation-vertical .block-title').on('click', function(e) {
        $('.typo-main-menu-vertical').slideToggle(400);
    });

    // button show hide seach form
    $('.sticky-search').on('click', function(event) {
        var timeout = setTimeout(function() {
        $('#search').focus();
    }, 400)
        event.preventDefault();
        $('.search-overlay').addClass('showing');
        $('.typo-wrapper').addClass('overlay-open');
        $('body').bind('scroll touchmove mousewheel', function(event) {
            event.preventDefault()
        });
    });
    $('.overlay-close').on('click', function(event) {
        event.preventDefault();
        $('.search-overlay').removeClass('showing');
        $('.btn-nav').removeClass('active');
        $('.typo-wrapper').removeClass('overlay-open');
        $('body').unbind('scroll touchmove mousewheel');
    });
});

главное в нём
Код:
$('.sticky-search').on('click', function(event) {
        var timeout = setTimeout(function() {
        $('#search').focus();
    }, 400)

работает везде кроме Айпада и Айфона

помогите как заставить экранную клавиатуру выскакивать?

ссылка на сайт (нажать на иконку поиска)
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Последнее редактирование:
работает везде кроме Айпада и Айфона

помогите как заставить экранную клавиатуру выскакивать?

ссылка на сайт (нажать на иконку поиска)
На Андроиде у меня не сработало,даже курсор в инпуте не мигает (хотя в хроме точно должен), поэтому не уверен, что эвент везде триггируется, как задумано, возможности проверить сейчас нет. Попробуйте autofocus, document.getElementById('search').focus();
Сомневаюсь, что посредством эмуляции события клавиатура будет выскакивать и на Эплах - вероятно требуется реальное касание юзера. Как вариант, можно запилить собственную клавиатуру на js взамен системной, которая уж точно будет выскакивать, но это уже БДСМ или где-то рядом, хотя...)
 
  • Нравится
Реакции: Sahh
Попробуйте autofocus, document.getElementById('search').focus();
Сомневаюсь, что посредством эмуляции события клавиатура будет выскакивать и на Эплах - вероятно требуется реальное касание юзера
Этот вариант работае если нет анимации открытия формы, с анимацией не работает даже на десктопе.
Без задержки открытия формы должна работать даже более простая конструкция вида
$(input[name="name"]').focus()
 
Лучше переписать скрипт и использовать промисы, а не таймауты
Для просмотра ссылки Войди или Зарегистрируйся

и еще есть такой метод тригерить клаву в iOS, у меня работает в хроме и в сафари
Для просмотра ссылки Войди или Зарегистрируйся

использовать тоже желательно с промисами, если просто от .focus() не заводится.
 
  • Нравится
Реакции: Sahh
Назад
Сверху