Saya ingin dapat menggunakan Tabkunci dalam kotak teks untuk tab lebih dari empat spasi. Dengan cara sekarang, tombol Tab akan melompati kursor saya ke input berikutnya.
Apakah ada beberapa JavaScript yang akan menangkap tombol Tab di kotak teks sebelum menggelembung ke UI?
Saya memahami beberapa browser (yaitu FireFox) mungkin tidak mengizinkan ini. Bagaimana dengan kombo tombol khusus seperti Shift+ Tab, atau Ctrl+ Q?
javascript
user-interface
Seibar
sumber
sumber
Jawaban:
Bahkan jika Anda merekam
keydown
/keyup
event, itu adalah satu-satunya kejadian yang diaktifkan tombol tab, Anda masih memerlukan beberapa cara untuk mencegah tindakan default, pindah ke item berikutnya dalam urutan tab, terjadi.Di Firefox, Anda dapat memanggil
preventDefault()
metode pada objek acara yang diteruskan ke pengendali kejadian Anda. Di IE, Anda harus mengembalikan false dari event handle. Pustaka JQuery menyediakanpreventDefault
metode pada objek acara yang berfungsi di IE dan FF.sumber
keycode
8
?Saya lebih suka tab indentasi tidak berfungsi daripada merusak tab di antara item formulir.
Jika Anda ingin memasukkan kode ke dalam kotak penurunan harga, gunakan Ctrl+ K(atau ⌘K di Mac).
Dalam hal benar-benar menghentikan tindakan, jQuery (yang digunakan Stack Overflow) akan menghentikan peristiwa menggelembung saat Anda mengembalikan false dari callback peristiwa. Ini membuat hidup lebih mudah untuk bekerja dengan banyak browser.
sumber
Jawaban sebelumnya baik-baik saja, tetapi saya salah satu dari orang-orang yang sangat menentang perilaku pencampuran dengan presentasi (menempatkan JavaScript di HTML saya) jadi saya lebih suka meletakkan logika penanganan acara saya di file JavaScript saya. Selain itu, tidak semua browser mengimplementasikan peristiwa (atau e) dengan cara yang sama. Anda mungkin ingin melakukan pemeriksaan sebelum menjalankan logika apa pun:
sumber
Saya akan menyarankan agar tidak mengubah perilaku default kunci. Saya melakukan sebanyak mungkin tanpa menyentuh mouse, jadi jika Anda membuat tombol tab saya tidak pindah ke bidang berikutnya pada formulir, saya akan sangat jengkel.
Namun, tombol pintasan bisa berguna, terutama dengan blok kode yang besar dan bersarang. Shift-TAB adalah opsi yang buruk karena biasanya membawa saya ke bidang sebelumnya pada formulir. Mungkinkah tombol baru pada editor WMD untuk memasukkan kode-TAB, dengan tombol pintas, akan memungkinkan?
sumber
ada masalah dalam jawaban terbaik yang diberikan oleh ScottKoon
ini dia
Seharusnya
Karena itu, ini tidak berfungsi di IE. Berharap ScottKoon akan memperbarui kode
sumber
Di Chrome di Mac, alt-tab menyisipkan karakter tab ke dalam
<textarea>
bidang.Ini dia: . Wee!
sumber