Я не могу найти решение этой проблемы.
У меня есть простое поле ввода, подобное этому.
<div class="search">
<input type="text" value="y u no work"/>
</div>
И я пытаюсь focus()
внутри функции.
Таким образом, внутри случайной функции (неважно, какая функция она есть) У меня есть эта строка...
$('.search').find('input').focus();
Это прекрасно работает на любом рабочем столе.
Однако он не работает на моем iPhone. Поле не фокусируется, и клавиатура не отображается на моем iPhone.
В целях тестирования и чтобы показать вам, ребята, я сделал быстрый пример:
$('#some-test-element').click(function() {
$('.search').find('input').focus(); // works well on my iPhone - Keyboard slides in
});
setTimeout(function() {
//alert('test'); //works
$('.search').find('input').focus(); // doesn't work on my iPhone - works on Desktop
}, 5000);
Любая идея, почему focus()
не будет работать с функцией тайм-аута на моем iPhone.
Чтобы увидеть живой пример, проверьте эту скрипту на своем iPhone. http://jsfiddle.net/Hc4sT/
Update:
Я создал тот же случай, что и в моем текущем проекте.
У меня есть select-box, который должен - когда "изменить" - установить фокус на поле ввода и вставить kexboard на iphone или другие мобильные устройства. Я узнал, что focus() установлен правильно, но клавиатура не отображается. Мне нужна клавиатура для отображения.
Я загрузил тестовые файлы прямо здесь http://cl.ly/1d210x1W3Y3W... Если вы проверите это на iphone, вы увидите, что клавиатура не слайд- в.