Це, мабуть, дуже просто, але хтось може мені сказати, як змусити курсор блимати на текстовому полі при завантаженні сторінки?
Це, мабуть, дуже просто, але хтось може мені сказати, як змусити курсор блимати на текстовому полі при завантаженні сторінки?
Відповіді:
Встановіть фокус на перше текстове поле:
$("input:text:visible:first").focus();
Це також робить перше текстове поле, але ви можете змінити [0] на інший індекс:
$('input[@type="text"]')[0].focus();
Або ви можете використовувати ідентифікатор:
$("#someTextBox").focus();
$('input[type="text"]').get(0).focus();
... працював на мене
Ви можете використовувати HTML5autofocus
для цього. Вам не потрібен jQuery або інший JavaScript.
<input type="text" name="some_field" autofocus>
Зауважте, що це не працюватиме на IE9 та нижче.
Звичайно:
<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>
Чому всі використовують jQuery для чогось простого, як цього.
<body OnLoad="document.myform.mytextfield.focus();">
Подумайте про свій користувальницький інтерфейс, перш ніж це зробити. Я припускаю (хоча жодна з відповідей так не сказала), що ви будете робити це, коли документ завантажується за допомогою ready()
функції jQuery . Якщо перед завантаженням документа користувач вже зосередився на іншому елементі (що цілком можливо), для них це надзвичайно дратує, якщо фокус викрадений.
Ви можете перевірити це, додавши onfocus
атрибути в кожен із своїх <input>
елементів, щоб записати, чи вже користувач зосередився на полі форми, а потім не вкрав фокус, якщо у них є:
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">
HTML:
<input id="search" size="10" />
jQuery:
$("#search").focus();
autofocus
атрибут до вхідного елемента?
Вибачте за натхнення старого питання. Я знайшов це через Google.
Також варто зазначити, що можливо використовувати більше одного селектора, таким чином ви можете націлити будь-який елемент форми, а не лише один конкретний тип.
напр.
$('#myform input,#myform textarea').first().focus();
Це зосередить увагу на першому введенні або текстовій області, яку він знайде, і, звичайно, ви можете додати до суміші й інші селектори. Hnady, якщо ви не можете бути впевнені, що конкретний тип елемента є першим, або ви хочете щось загальне / багаторазове використання.
Це те, що я вважаю за краще використовувати:
<script type="text/javascript">
$(document).ready(function () {
$("#fieldID").focus();
});
</script>
autofocus
атрибут, наданий HTML5
місце після введення
<script type="text/javascript">document.formname.inputname.focus();</script>
Найпростіший і найпростіший спосіб досягти цього
$('#button').on('click', function () {
$('.form-group input[type="text"]').attr('autofocus', 'true');
});
Рядок $('#myTextBox').focus()
не вводить курсор у текстове поле, а використовує:
$('#myTextBox:text:visible:first').focus();