Ada dua bagian dari pertanyaan Anda.
1) Bagaimana cara memfokuskan input pada pemuatan halaman?
Anda tinggal menambahkan autofocus
atribut ke input.
<input id="myinputbox" type="text" autofocus>
Namun, ini mungkin tidak didukung di semua browser, jadi kita bisa menggunakan javascript.
window.onload = function() {
var input = document.getElementById("myinputbox").focus();
}
2) Bagaimana cara menempatkan kursor di akhir teks input?
Berikut adalah solusi non-jQuery dengan beberapa kode pinjaman dari jawaban SO lain .
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();
}
Berikut adalah contoh bagaimana saya melakukannya dengan jQuery.
<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>
Perlu diketahui - Anda sekarang dapat melakukan ini dengan HTML5 tanpa JavaScript untuk browser yang mendukungnya:
Anda mungkin ingin memulai dengan ini dan membangunnya dengan JavaScript untuk menyediakan cadangan untuk browser lama.
sumber
sumber
sumber
Cara portabel untuk melakukan ini adalah menggunakan fungsi khusus (untuk menangani perbedaan browser) seperti ini .
Kemudian siapkan penangan untuk
onload
bagian akhir<body>
tag Anda , seperti yang ditulis jessegavin:sumber
Bekerja dengan baik ...
sumber
solusi satu baris yang sangat sederhana:
sumber
Inilah yang bekerja dengan baik untuk saya:
fff akan menjadi variabel global yang namanya sama sekali tidak relevan dan tujuannya adalah menghentikan peristiwa onload generik untuk memaksa fokus pada masukan tersebut.
Dari: http://webreflection.blogspot.com.br/2009/06/inputfocus-something-really-annoying.html
sumber
Jika Anda tidak dapat menambahkan ke tag BODY karena alasan tertentu, Anda dapat menambahkan ini SETELAH Formulir:
sumber
Mencoba:
Javascript Murni:
Jquery:
sumber
Tambahkan ini ke atas js Anda
Atau untuk html
sumber