Показать клавиатуру iPad на выбор, фокус или всегда (jQuery) - PullRequest
3 голосов
/ 02 января 2011

У меня есть веб-приложение, которое использует jQuery для замены клавиши RETURN на клавишу TAB, чтобы при нажатии пользователем кнопки return форма не отправлялась, а курсор перемещался в следующее текстовое поле.во всех браузерах, но только 1/2 работает на iPad.На iPad следующее поле выделено, но клавиатура скрыта.Как я могу сохранить клавиатуру видимой или заставить ее каким-то образом?

Вот мой код (спасибо http://thinksimply.com/blog/jquery-enter-tab):

function checkForEnter (event) {
    if (event.keyCode == 13) {
          currentBoxNumber = textboxes.index(this);
        if (textboxes[currentBoxNumber + 1] != null) {
            nextBox = textboxes[currentBoxNumber + 1]
            nextBox.focus();
            nextBox.select();
            event.preventDefault();
            return false;
        }
    }
}

Drupal.behaviors.formFields = function(context) {   
    $('input[type="text"]').focus(function() { $(this).removeClass("idleField").addClass("focusField"); });
    $('input[type="text"]').blur(function() { $(this).removeClass("focusField").addClass("idleField"); });

    // replaces the enter/return key function with tab
    textboxes = $("input.form-text");
    if ($.browser.mozilla) {
       $(textboxes).keypress (checkForEnter);
    } else {
       $(textboxes).keydown (checkForEnter);
    }
};

1 Ответ

2 голосов
/ 02 января 2012

Я полагаю, что невозможно отобразить клавиатуру, если пользователь не прикоснется к элементу ввода текста и не запустит click, mouseup или mousedown.

Похоже, по замыслу :

По умолчанию некоторые события focus () в Mobile Safari игнорируются.Многие сайты делают focus () без необходимости, а запуск клавиатуры медленный / навязчивый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...