У мене є таке просте поле введення, як це.
<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/
Оновлення:
Я створив точно такий же випадок, з яким я зараз стикаюся у своєму поточному проекті.
У мене є поле вибору, яке при "зміні" повинно встановити фокус на поле введення та ввести кексборд на iphone чи інших мобільних пристроях. Я виявив, що фокус () встановлено правильно, але клавіатура не відображається. Мені потрібна клавіатура, щоб показати.