Es gibt zwei Teile zu Ihrer Frage.
1) Wie fokussiere ich einen Eingang beim Laden der Seite?
Sie können einfach das autofocus
Attribut zum Eingang hinzufügen.
Dies wird jedoch möglicherweise nicht in allen Browsern unterstützt, so dass wir Javascript verwenden können.
window.onload = function() {
var input = document.getElementById("myinputbox").focus();
}
2) Wie Cursor am Ende des eingegebenen Textes zu platzieren?
Hier ist eine Nicht-jQuery-Lösung mit etwas geliehenem Code von another SO answer.
function placeCursorAtEnd() {
if (this.setSelectionRange) {
// Double the length because Opera is inconsistent about
// whether a carriage return is one character or two.
var len = this.value.length * 2;
this.setSelectionRange(len, len);
} else {
// This might work for browsers without setSelectionRange support.
this.value = this.value;
}
if (this.nodeName === "TEXTAREA") {
// This will scroll a textarea to the bottom if needed
this.scrollTop = 999999;
}
};
window.onload = function() {
var input = document.getElementById("myinputbox");
if (obj.addEventListener) {
obj.addEventListener("focus", placeCursorAtEnd, false);
} else if (obj.attachEvent) {
obj.attachEvent('onfocus', placeCursorAtEnd);
}
input.focus();
}
Hier ist ein Beispiel, wie ich dies mit jQuery erreichen würde.
<input type="text" autofocus>
<script>
$(function() {
$("[autofocus]").on("focus", function() {
if (this.setSelectionRange) {
var len = this.value.length * 2;
this.setSelectionRange(len, len);
} else {
this.value = this.value;
}
this.scrollTop = 999999;
}).focus();
});
</script>
Der erste Codeblock tatsächlich vorgeschlagen pla Wenn der Cursor auch am Ende des bestehenden Wertes steht, funktioniert es gut. Ich schätze deine Hilfe. – Codex73