2017-02-18 7 views
2

Ich habe ein einfaches Texteingabefeld:Wie gebe ich einen JS-Befehl, um einen Cursor in ein Eingabefeld zu setzen?

<input value="Hello"> 

Ich mag einen JS-Code schreiben, der den Fokus auf dem Eingabefeld platzieren und einen Cursor nach innen setzen.

Ich versuchte focus() in JQuery zu verwenden:

$('document').ready(function(){ 
    $($('input')[0]).click(function() { 
     this.focus(); 
    }) 
}) 

und es hat nicht funktioniert.

+0

Es macht keinen Sinn, setzen den Fokus auf ein Element, das Sie gerade geklickt haben, verwenden können. –

Antwort

1

Sie müssen Zugriff auf input Element mit einem einfachen selector: $('input'). Dann müssen Sie einen Ereignishandler an das JavaScript-Ereignis focus binden.

$('document').ready(function(){ 
    $('input').focus(); 
}); 
+0

das ist die Antwort. Danke – CrazySynthax

+0

Dies wird dazu führen, dass das erste 'input'-Element im Dokument den Fokus erhält. Sie sollten einen spezifischeren Selektor verwenden, falls sich herausstellt, dass der erste nicht der Fokus ist. –

+0

@ScottMarcus, das weiß ich. Ich habe diesen Selektor nur für dieses Beispiel verwendet. OP passt sich dann seinem Code an. –

0

JQuery wird für solch ein einfaches Problem nicht benötigt. Greifen Sie einfach über einen gültigen Selektor auf das Element zu und rufen Sie die Methode .focus() auf.

window.addEventListener("DOMContentLoaded", function(){ 
 
    document.querySelector("input[value='Hello']").focus(); 
 
});
<input value="Hello">

-1

Sie CSS anstelle

input:focus { 
    background-color: #hex_code; 
} 
+0

Wie können Sie das Ereignis '.focus' binden, wenn die Seite mit CSS geladen wird? –

+1

Dies wird nicht dazu führen, dass das Element den Fokus erhält. Es wird es stylen, sobald es den Fokus hat. –

Verwandte Themen