Dies ist wahrscheinlich sehr einfach, aber könnte mir jemand sagen, wie der Cursor beim Laden der Seite auf einem Textfeld blinkt?
Dies ist wahrscheinlich sehr einfach, aber könnte mir jemand sagen, wie der Cursor beim Laden der Seite auf einem Textfeld blinkt?
Antworten:
Setzen Sie den Fokus auf das erste Textfeld:
$("input:text:visible:first").focus();
Dies macht auch das erste Textfeld, aber Sie können die [0] in einen anderen Index ändern:
$('input[@type="text"]')[0].focus();
Oder Sie können die ID verwenden:
$("#someTextBox").focus();
$('input[type="text"]').get(0).focus();
... arbeitete für mich
Sie können hierfür HTML5 verwendenautofocus
. Sie benötigen weder jQuery noch anderes JavaScript.
<input type="text" name="some_field" autofocus>
Beachten Sie, dass dies unter IE9 und niedriger nicht funktioniert.
Sicher:
<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>
Warum verwendet jeder jQuery für so etwas Einfaches?
<body OnLoad="document.myform.mytextfield.focus();">
Denken Sie an Ihre Benutzeroberfläche, bevor Sie dies tun. Ich gehe davon aus (obwohl keine der Antworten dies gesagt hat), dass Sie dies tun, wenn das Dokument mit der ready()
Funktion von jQuery geladen wird . Wenn sich ein Benutzer bereits vor dem Laden des Dokuments auf ein anderes Element konzentriert hat (was durchaus möglich ist), ist es äußerst ärgerlich, wenn ihm der Fokus gestohlen wird.
Sie können dies überprüfen, indem Sie onfocus
jedem Ihrer <input>
Elemente Attribute hinzufügen , um aufzuzeichnen, ob sich der Benutzer bereits auf ein Formularfeld konzentriert hat, und dann den Fokus nicht zu stehlen, wenn er Folgendes hat:
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
dem Eingabeelement einfach ein Attribut hinzu .
Tut mir leid, dass ich eine alte Frage gestellt habe. Ich habe das über Google gefunden.
Es ist auch erwähnenswert, dass es möglich ist, mehr als einen Selektor zu verwenden, sodass Sie auf jedes Formularelement und nicht nur auf einen bestimmten Typ abzielen können.
z.B.
$('#myform input,#myform textarea').first().focus();
Dadurch wird der erste gefundene Eingabe- oder Textbereich fokussiert, und Sie können natürlich auch andere Selektoren zum Mix hinzufügen. Hnady, wenn Sie nicht sicher sein können, ob ein bestimmter Elementtyp an erster Stelle steht, oder wenn Sie etwas allgemeines / wiederverwendbares wünschen.
Folgendes bevorzuge ich:
<script type="text/javascript">
$(document).ready(function () {
$("#fieldID").focus();
});
</script>
autofocus
Attribut von HTML5
nach Eingabe platzieren
<script type="text/javascript">document.formname.inputname.focus();</script>
Der einfache und einfachste Weg, dies zu erreichen
$('#button').on('click', function () {
$('.form-group input[type="text"]').attr('autofocus', 'true');
});
Die Zeile $('#myTextBox').focus()
allein setzt den Cursor nicht in das Textfeld, sondern verwendet:
$('#myTextBox:text:visible:first').focus();