Подтвердить что ты не робот

Фокус ввода в jQuery mobile, но клавиатура не появляется

Я использую jquery, jquery mobile и phonegap. Я хочу показать клавиатуру на этой странице с типом ввода = "текст".

    <section id="page1" data-role="page">
        <header data-role="header">
            <h1>jQuery Mobile</h1>
        </header>
        <div data-role="content" class="content">

            <input type="text" placeholder="입력하세요" />
        </div>

    </section>

а мой script -

        $(document).ready(function(){
            $('input').select();
            $('input').focus();
        });

Текстовое поле сфокусировано, но клавиатура не отображается, и появляется при нажатии типа ввода = "текст". Как я могу заставить запускать клавиатуру в javascript или использовать плагин phonegap?

4b9b3361

Ответ 1

Ни один из предыдущих решений не работал у меня. Однако я заметил, что $('textarea'). Focus(). Select(); после второго доступа к странице. Таким образом, я принудительно принудительно загружаю jquery mobile на страницу предварительного просмотра данных на моем блоке с комментариями.

Это мой общий код инициализации JQM (который не работает без "предварительной выборки данных" ):

$('#comment-box-page').live('pageshow', function () {
   $('textarea').focus().select();
});

На странице списка есть поддельное изображение небольшого текстового поля, которое перенаправляется на comment-box.html, что является просто большой тестовой зоной с кнопками post и cancel.

        <div data-role="footer" data-position="fixed" data-theme="b" data-tap-toggle="false">
        <div data-role="fieldcontain">
            <a href="comment-box.html" data-prefetch><img src="fake-textfield.jpg"/>
            </a>
        </div>
    </div>
  • data-prefetch - вот что делает разницу. Когда вы нажмете ссылку, страница будет вести себя так, как это было во второй раз, когда вы ее посетили, включив фокус и подняв клавиатуру.

Ответ 2

вы не можете. мобильный браузер не отображает клавиатуру, если вы фокусируете элемент ввода. Пользователь должен нажать элемент ввода.

Ответ 3

Вы должны использовать событие "click", чтобы открыть клавиатуру:

$(document).live('click', function() {
    $("#input-element-id").focus();
});

Ответ 4

Я использую это в cordova 6 для мобильного приложения Android и его работ:

-install cordova plugin keyboard: плагин cordova добавить кордову-плагин-клавиатуру

-then u можно использовать Keyboard.show(), чтобы показать клавиатуру и клавиатуру .hide(), чтобы скрыть ее

  • u может сделать это, чтобы показать клавиатуру:

      $("#your_text_input").click(function () {
                    $(this).focus();
                    Keyboard.show();
      });
    
      $('#your_text_input').keydown(function(e) {
      if (e.which == 13) { //Enter keycode
        //your action
        ...
    
        // Now clear input and set focus back to input
        Keyboard.hide();
        $(this).val('').trigger("keyup").focus();
      }
      });
    

Ответ 5

$("input").bind( "blur", function () {
       $(".ui-header-fixed" ).css("top","0 !important");
});