Метод JQuery focus() на ipad
Возможный дубликат:
iPad HTML Focus
Кто-нибудь знает, как получить метод focus() из jquery для работы с ipad или, возможно, обходным путем? То, что я пытаюсь сделать, - заставить клавиатуру всплывать на веб-странице, так как у меня есть jquery, фиксирующий нажатия клавиш для выполнения событий. Однако, без текстового поля на странице, я не знаю, как заставить клавиатуру всплывать. Теперь, когда у меня есть текстовое поле на странице, я пытаюсь использовать jquery, чтобы установить фокус на текстовое поле, чтобы клавиатура всплывала. Кроме того, я устанавливаю стиль текстовых полей для отображения: none, так что фокус переходит в текстовое поле, но он не отображается, поэтому функциональность, похоже, работает. Однако focus() разбит на ipad! Кто-нибудь может мне помочь?
Ответы
Ответ 1
К сожалению, единственный способ получить клавиатуру для отображения - это во время инициированного пользователем события. Это то, с чем я боролся с собой в последнее время.
Ниже ilumin имеет хорошее решение, но оно не единственное. В основном, из того, что я нашел, до тех пор, пока вы выполняете вызов функции .focus() внутри пользовательского события (например, mouseup или любое из событий касания (что, вероятно, предпочтительнее для сенсорного устройства)), то у вас не должно быть проблем.
В какой-то степени я понимаю, почему Apple сделала это ограничение, но в то же время это сделало мою работу очень сложной.
Ответ 2
<input>
<a href="#" class="label">Click</a>
$('.label').mouseup(function(){ $('input').focus(); });
он работает над моим проектом.
просто используйте "mouseup" для захвата события и "фокуса" на входе
через http://www.quora.com/Mobile-Safari-iPhone-or-iPad-with-JavaScript-how-can-I-launch-the-on-screen-keyboard
Ответ 3
К сожалению, вы увидите, что клавиатура появляется, когда вы фокусируетесь в текстовом поле. См. этот ответ.