Как я могу сфокусировать текстовый ввод с помощью JavaScript (без jQuery) и сделать мигающую курсор/виртуальную клавиатуру на устройствах iOS?
Это не похоже на поведение по умолчанию при вызове:
element.focus();
Решения, использующие...
element.click();
element.focus();
... как предложено в других сообщениях, также не работают.
Спасибо!
Редактировать: Демо:
function focusText(){
document.getElementById('text').focus();
}
function focusCalled(){
document.getElementById('text').value = '';
document.getElementById('text').type = 'password';
}
<input type="text" id="text" value="Password" onfocus="focusCalled();">
<button onclick="focusText();">Click me!</button>
У меня есть эта проблема, когда я нажимаю кнопку "Очистить" только в iOS - но только если значение уже сброшено. Единственный способ вернуть курсор в коде - это взломать следующим образом...
function ClearInput(sInput)
{
var oInput = document.getElementById(sInput);
if (oInput.value.length > 0) oInput.value = '';
else
{
oInput.value = ' ';
setTimeout(function() { ClearInput(sInput); },
gkiMinTOutTms); // gkiMinTOutTms=20
}
oInput.focus();
}
<input autofocus />