2012-06-26 2 views
4

Я написал функцию, которая автоматически переадресует пользователя в следующее поле формы, если они удовлетворяют требованиям этого поля.Обнаружение ipad quirk с отображением клавиатуры на фокусе

Проблема заключается в том, что при использовании этого в iPad вместо фокусировки следующего поля он просто скрывает клавиатуру.

Я отказался от попытки исправить это, и я ищу способ обнаружить это .... пытаясь быть чистейшим и не использовать обнаружение браузера, но не вижу альтернативы.

У кого-нибудь есть метод ОБНАРУЖЕНИЯ ФУНКЦИИ?

+0

Я предлагаю * НЕ * автоматическое продвижение поля. Другими словами, исправление действительно является исправлением пользовательского опыта, а не исправлением кода. Авто-продвижение может быть довольно запутанным, так как это не ожидаемое поведение, и любые предполагаемые преимущества автоматического продвижения в любом случае минимизируются на сенсорном устройстве. –

+0

FYI, клавиатура является частью ОС, поэтому вы не имеете прямого контроля над DOM. –

+0

Авто-аванс не был моим выбором. Я бы предпочел использовать маску. – dovidweisz

ответ

2

В соответствии с Руководством по веб-контенту Safari от Apple, согласно Form and Document Events, существует no event triggered specifically for the keyboard. Это Безразлично, т означает, что ISN; т внутреннего события WebKit, что вы могли бы подключиться, хотя ...

Этого вопроса имеет ответ, который обеспечивает довольно новое решение для вынюхивания клавиатуры: iPad Web App: Detect Virtual Keyboard Using JavaScript in Safari?

По сути это пытается установить положение прокрутки окна; если позиция не изменяется, тогда клавиатура присутствует.

Здесь очищается версия кода:

$(document).ready(function(){ 
    $('input').focus(function(){ 
     var scrollPosition = $(window).scrollTop(); 
     $(window).scrollTop(10); 
     var isKeyboard = ($(window).scrollTop() > 0); 
     $(window).scrollTop(scrollPosition); 

     alert(isKeyboard); 
    }); 
});​ 

Это должно, по крайней мере дать вам представление о концепции :)

+0

Вот еще одна полезная информация, которая может быть полезна: http://stackoverflow.com/questions/7481465/what-is-the-mobile-safari-event-for-the-on-screen-keyboard-closing –

+0

Youmay be btr off просто нюхать для iOS, а также P http://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html#//apple_ref/doc/uid/TP40006517-SW3 –

+0

Andrew: Похоже, это то, что мне нужно будет сделать :( – dovidweisz

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