фокус не работает в IE

у меня есть следующая функция

 function change() 
 {
       var input = document.getElementById('pas');
       var input2 = input.cloneNode(false);
       input2.type = 'password';
       input.parentNode.replaceChild(input2,input);
       input2.focus();
  }

но focus() не работает в ie7, поэтому что может я делать! я хочу иметь курсор во входе!

спасибо

обновление

отличное решение, спасибо, но теперь это не работает в опере: (

15
задан Rohit Vipin Mathews 23 August 2016 в 08:48
поделиться

4 ответа

Для IE вам нужно использовать функцию settimeout из-за того, что он ленив, например:

setTimeout(function() { document.getElementById('myInput').focus(); }, 10);

From http://www.mkyong.com/javascript/focus-is-not-working-in- ie-solution /

Для Opera это может помочь: как установить фокус в требуемом индексе текстового поля для Opera

36
ответ дан 1 December 2019 в 01:23
поделиться

IE7 не поддерживает метод focus () . Я не вижу никакого метода.

0
ответ дан 1 December 2019 в 01:23
поделиться

Использовать jQuery очень просто, не знаю, почему вы делаете это сложно :) В этом примере у меня есть класс, назначенный полю ввода. Мне нужен начальный набор фокуса под названием initFocus. Вы можете использовать любой селектор, какой хотите, чтобы найти свой элемент. из вашего кода я бы использовал $ ("# pas"). focus ();

$(".initFocus").focus();
-2
ответ дан 1 December 2019 в 01:23
поделиться

У меня была та же проблема, и я смог заставить IE работать, используя код, создав функцию SetInitialFocus и вызвав ее в моей функции PageLoad.

Взгляните на следующий пример и попробуйте, у меня это сработало. http://www.cambiaresearch.com/c4/df9f071c-a9eb-4d82-87fc-1a66bdcc068e/Set-Initial-Focus-on-an-aspnet-Page.aspx

0
ответ дан 1 December 2019 в 01:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: