Как сфокусироваться на входном текстовом поле формы на загрузке страницы с помощью jQuery?

Я использовал бы класс обслуживания окон (тот, который Вы выполняете, когда Вы запускаете/останавливаете сервис), вид подобных прокси к Вашей реальной системе. Я не вижу, как код позади Вашего сервиса должен несколько отличаться от любого другого программирования. onStart и onStop методы являются просто запускаемыми событиями, как нажатие кнопки на GUI.

, Таким образом, Ваш класс обслуживания окон является очень тонким классом, сопоставимым с формой окон. Это называет Вашу бизнес-логику / доменной логикой, которая тогда делает то, что это, как предполагается, делает. Все, что необходимо сделать, удостоверяются метод (методы), который Вы называете в своем onStart, и onStop работают как, они, как предполагается. По крайней мере, это - то, что я сделал бы;-)

225
задан informatik01 6 July 2014 в 20:24
поделиться

4 ответа

Установить фокус на первое текстовое поле:

 $("input:text:visible:first").focus();

Это также относится к первому текстовому полю, но вы можете изменить [0] на другой индекс:

$('input[@type="text"]')[0].focus(); 

Или вы можете использовать идентификатор:

$("#someTextBox").focus();
355
ответ дан 23 November 2019 в 03:55
поделиться

Конечно:

<head>
    <script src="jquery-1.3.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function() {
            $("#myTextBox").focus();
        });
    </script>
</head>
<body>
    <input type="text" id="myTextBox">
</body>
26
ответ дан 23 November 2019 в 03:55
поделиться

HTML:

  <input id="search" size="10" />

jQuery:

$("#search").focus();
12
ответ дан 23 November 2019 в 03:55
поделиться

Подумайте о своем пользовательском интерфейсе, прежде чем делать это. Я предполагаю (хотя ни один из ответов не сказал этого), что вы будете делать это, когда документ загружается с помощью функции jQuery ready () . Если пользователь уже сфокусировался на другом элементе до того, как документ загрузился (что вполне возможно), его крайне раздражает то, что фокус был украден.

Вы можете проверить это, добавив onfocus ] в каждом из ваших элементов , чтобы записать, сосредоточился ли пользователь уже на поле формы, а затем не крадет ли фокус, если они есть:

var anyFieldReceivedFocus = false;

function fieldReceivedFocus() {
    anyFieldReceivedFocus = true;
}

function focusFirstField() {
    if (!anyFieldReceivedFocus) {
        // Do jQuery focus stuff
    }
}


<input type="text" onfocus="fieldReceivedFocus()" name="one">
<input type="text" onfocus="fieldReceivedFocus()" name="two">
18
ответ дан 23 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

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