Какие методы существуют для текстового поля, чтобы захватить фокус?(текущий метод не работает в IE7) - PullRequest
0 голосов
/ 16 августа 2011

Zhe Поле ввода:

    <input id="category_name" name="category[name]" size="30" type="text">

Код, который фокусирует текстовое поле: (работает в chrome, ff и safari (только браузеры, которые я тестировал, так что af)

   <script type="text/javascript">
        document.getElementById("category_name").focus();
    </script>

Ответы [ 2 ]

0 голосов
/ 16 августа 2011

У меня тоже была эта проблема: setTimeout не работал, точно так же, как обратные вызовы и отложенный jQuery.

Решение, которое я придумал, (с jQuery):

$( "#inputId" ).focus().focus();

2x фокус.Работает без каких-либо недостатков везде, где я тестировал.

Редактировать:

Также убедитесь, что фокусируемый ввод виден.
В противном случае IE выдаст исключение.

0 голосов
/ 16 августа 2011

Попробуйте либо вызвать focus() в событии body.onload:

<script type="text/javascript">
    function setFocus()
    {
        document.getElementById("category_name").focus();
    }
</script>

<body onload="setFocus();">
    <!-- ...snip... -->
</body>

или делать это:

setTimeout(function() { document.getElementById("category_name").focus(); }, 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...