у меня есть следующая функция
function change()
{
var input = document.getElementById('pas');
var input2 = input.cloneNode(false);
input2.type = 'password';
input.parentNode.replaceChild(input2,input);
input2.focus();
}
но focus()
не работает в ie7, поэтому что может я делать! я хочу иметь курсор во входе!
спасибо
отличное решение, спасибо, но теперь это не работает в опере: (
Для IE вам нужно использовать функцию settimeout из-за того, что он ленив, например:
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
From http://www.mkyong.com/javascript/focus-is-not-working-in- ie-solution /
Для Opera это может помочь: как установить фокус в требуемом индексе текстового поля для Opera
IE7 не поддерживает метод focus ()
. Я не вижу никакого метода.
Использовать jQuery очень просто, не знаю, почему вы делаете это сложно :) В этом примере у меня есть класс, назначенный полю ввода. Мне нужен начальный набор фокуса под названием initFocus. Вы можете использовать любой селектор, какой хотите, чтобы найти свой элемент. из вашего кода я бы использовал $ ("# pas"). focus ();
$(".initFocus").focus();
У меня была та же проблема, и я смог заставить IE работать, используя код, создав функцию SetInitialFocus и вызвав ее в моей функции PageLoad.
Взгляните на следующий пример и попробуйте, у меня это сработало. http://www.cambiaresearch.com/c4/df9f071c-a9eb-4d82-87fc-1a66bdcc068e/Set-Initial-Focus-on-an-aspnet-Page.aspx