Я использовал бы класс обслуживания окон (тот, который Вы выполняете, когда Вы запускаете/останавливаете сервис), вид подобных прокси к Вашей реальной системе. Я не вижу, как код позади Вашего сервиса должен несколько отличаться от любого другого программирования. onStart и onStop методы являются просто запускаемыми событиями, как нажатие кнопки на GUI.
, Таким образом, Ваш класс обслуживания окон является очень тонким классом, сопоставимым с формой окон. Это называет Вашу бизнес-логику / доменной логикой, которая тогда делает то, что это, как предполагается, делает. Все, что необходимо сделать, удостоверяются метод (методы), который Вы называете в своем onStart, и onStop работают как, они, как предполагается. По крайней мере, это - то, что я сделал бы;-)
Установить фокус на первое текстовое поле:
$("input:text:visible:first").focus();
Это также относится к первому текстовому полю, но вы можете изменить [0] на другой индекс:
$('input[@type="text"]')[0].focus();
Или вы можете использовать идентификатор:
$("#someTextBox").focus();
Конечно:
<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>
HTML:
<input id="search" size="10" />
jQuery:
$("#search").focus();
Подумайте о своем пользовательском интерфейсе, прежде чем делать это. Я предполагаю (хотя ни один из ответов не сказал этого), что вы будете делать это, когда документ загружается с помощью функции 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">