Bagaimana Anda mengatur fokus secara otomatis ke kotak teks saat halaman web dimuat?
Apakah ada tag HTML untuk melakukannya atau harus dilakukan melalui Javascript?
javascript
html
Mark Biek
sumber
sumber
Jawaban:
Jika Anda menggunakan jquery:
atau prototipe:
atau javascript biasa:
meskipun perlu diingat bahwa ini akan menggantikan yang lain pada penangan beban, jadi lihat addLoadEvent () di google untuk cara yang aman untuk menambahkan penangan yang memuat alih-alih mengganti.
sumber
Di HTML ada
autofocus
atribut untuk semua bidang formulir. Ada tutorial yang bagus di Dive Into HTML 5 . Sayangnya saat ini tidak didukung oleh versi IE kurang dari 10.Untuk menggunakan atribut HTML 5 dan kembali ke opsi JS:
Tidak diperlukan jQuery, onload atau event handler, karena JS di bawah elemen HTML.
Sunting: keuntungan lain adalah ia berfungsi dengan menonaktifkan JavaScript di beberapa browser dan Anda dapat menghapus JavaScript ketika Anda tidak ingin mendukung browser yang lebih lama.
Sunting 2: Firefox 4 sekarang mendukung
autofocus
atribut, hanya meninggalkan IE tanpa dukungan.sumber
autofocus="aufofocus"
? Semua link Anda tersedia hanya mengatakan untuk menambahkan atribut:autofocus
.attribute="value"
untuk atribut boolean. HTML5 datang dengan "sintaks atribut kosong" dan kami membatalkan redundansi. Sekarang bisa kita lakukan<input checked disabled autofocus data-something>
Anda perlu menggunakan javascript:
@Ben mencatat bahwa Anda tidak harus menambahkan penangan acara seperti ini. Meskipun itu adalah pertanyaan lain, ia merekomendasikan Anda untuk menggunakan fungsi ini:
Dan kemudian melakukan panggilan untuk addLoadEvent di halaman Anda dan referensi fungsi yang menetapkan fokus ke kotak teks yang Anda inginkan.
sumber
Cukup tulis autofocus di bidang teks. Ini sederhana dan berfungsi seperti ini:
Semoga ini membantu.
sumber
Anda dapat melakukannya dengan mudah dengan menggunakan jquery dengan cara ini:
dengan memanggil fungsi ini di
$(document).ready()
.Ini berarti fungsi ini akan dijalankan ketika DOM siap.
Untuk informasi lebih lanjut tentang fungsi READY, lihat: http://api.jquery.com/ready/
sumber
Menggunakan html dan javascript vanilla biasa
Bagi mereka yang di luar sana menggunakan .net framework dan asp.net 2.0 atau lebih tinggi, ini sepele. Jika Anda menggunakan versi kerangka kerja yang lebih lama, Anda harus menulis beberapa javascript yang mirip dengan di atas.
Di handler OnLoad Anda (umumnya page_load jika Anda menggunakan template halaman stok yang disediakan dengan visual studio) Anda dapat menggunakan:
C #
VB.NET
(* Catatan saya menghapus karakter garis bawah dari nama fungsi yang umumnya Page_Load karena dalam blok kode itu menolak untuk membuat dengan benar! Saya tidak bisa melihat dalam dokumentasi markup bagaimana mendapatkan garis bawah untuk membuat tidak dihapus.)
Semoga ini membantu.
sumber
IMHO, cara 'terbersih' untuk memilih bidang teks Pertama, yang terlihat, diaktifkan pada halaman, adalah dengan menggunakan jQuery dan melakukan sesuatu seperti ini:
Semoga itu bisa membantu ...
Terima kasih...
sumber
sumber
Sebagai saran umum, saya akan merekomendasikan untuk tidak mencuri fokus dari bilah alamat. ( Jeff sudah membicarakan hal itu. )
Halaman web dapat membutuhkan waktu untuk dimuat, yang berarti bahwa perubahan fokus Anda dapat terjadi lama setelah pengguna mengetik URL pae. Lalu dia bisa berubah pikiran dan kembali ke mengetik url saat Anda akan memuat halaman Anda dan mencuri fokus untuk memasukkannya ke dalam kotak teks Anda.
Itulah satu-satunya alasan yang membuat saya menghapus Google sebagai halaman awal saya.
Tentu saja, jika Anda mengontrol jaringan (jaringan lokal) atau jika perubahan fokus adalah untuk memecahkan masalah kegunaan yang penting, lupakan semua yang baru saja saya katakan :)
sumber
Saya punya masalah yang sedikit berbeda. Saya ingin
autofocus
, tetapi, inginplaceholder
teks tetap, lintas browser. Beberapa browser akan menyembunyikanplaceholder
teks segera setelah bidang fokus, beberapa akan menyimpannya. Saya harus membuat placeholder tetap menggunakan cross-browser, yang memiliki efek samping aneh, atau berhenti menggunakanautofocus
.Jadi saya mendengarkan kunci pertama yang diketikkan pada tag tubuh, dan mengarahkan kunci itu ke bidang input target. Kemudian semua penangan acara yang terlibat terbunuh untuk menjaga kebersihan.
https://jsfiddle.net/b9chris/qLrrb93w/
sumber
Dimungkinkan untuk mengatur
autofocus
elemen inputsumber
Jika Anda menggunakan ASP.NET maka Anda dapat menggunakan
dalam kode di server, yang akan menambahkan JavaScript yang sesuai ke halaman.
Kerangka kerja sisi server lain mungkin memiliki metode yang setara.
sumber
Gunakan kode di bawah ini. Bagi saya itu berfungsi
sumber