Pengguna saya ingin dapat menekan Ctrl+ Suntuk menyimpan formulir. Apakah ada cara lintas-browser yang baik untuk menangkap kombinasi tombol Ctrl+ Sdan mengirimkan formulir saya?
Aplikasi dibangun di atas Drupal, jadi jQuery tersedia.
javascript
jquery
ceejayoz
sumber
sumber
keydown
sebagai gantikeypress
di chromeIni berfungsi untuk saya (menggunakan jquery) untuk membebani Ctrl+ S, Ctrl+ Fdan Ctrl+ G:
sumber
window.addEventListener(
sebagai ganti$(window).bind(
else if
tidak akan berfungsi karenaif
pernyataan asli sudah akan dievaluasi sebagai benar. Anda harus meletakkan kode Anda sebelumif
pernyataan asli , mengubah aslinya menjadielse if
.Anda dapat menggunakan pustaka pintasan untuk menangani hal-hal khusus peramban.
sumber
Solusi jQuery ini berfungsi untuk saya di Chrome dan Firefox, untuk Ctrl+ Sdan Cmd+ S.
sumber
e.key
alih-alihe.which
;Yang ini bekerja untuk saya di Chrome ... untuk beberapa alasan
event.which
mengembalikan huruf kapital S (83) untuk saya, tidak yakin mengapa (terlepas dari status caps lock) jadi saya menggunakanfromCharCode
dantoLowerCase
hanya untuk berada di sisi yang amanJika ada yang tahu mengapa saya mendapatkan 83 dan tidak 115 , saya akan senang mendengar, juga jika ada yang menguji ini di browser lain saya akan senang mendengar apakah itu berfungsi atau tidak
sumber
Saya menggabungkan beberapa opsi untuk mendukung FireFox, IE dan Chrome. Saya juga memperbaruinya untuk dukungan mac yang lebih baik
sumber
Saya ingin aplikasi Web tidak menimpa kunci pintas default saya, jujur. Ctrl+ Ssudah melakukan sesuatu di browser. Memiliki perubahan itu tiba-tiba tergantung pada situs yang saya lihat mengganggu dan membuat frustrasi, belum lagi sering buggy. Saya memiliki situs yang dibajak Ctrl+ Tabkarena tampilannya sama dengan Ctrl+ I, keduanya merusak pekerjaan saya di situs dan mencegah saya beralih tab seperti biasa.
Jika Anda ingin tombol pintas, gunakan
accesskey
atribut. Tolong jangan hancurkan fungsionalitas browser yang ada.sumber
@Eevee: Karena peramban menjadi rumah bagi fungsionalitas yang lebih kaya dan lebih kaya dan mulai mengganti aplikasi desktop, itu tidak akan menjadi pilihan untuk tidak menggunakan pintasan keyboard. Rangkaian perintah keyboard yang kaya dan intuitif dari Gmail sangat membantu dalam kesediaan saya untuk meninggalkan Outlook. Pintasan keyboard di Todoist, Google Reader, dan Google Calendar semuanya membuat hidup saya jauh lebih mudah setiap hari.
Pengembang harus berhati-hati untuk tidak mengabaikan penekanan tombol yang sudah memiliki arti di browser. Sebagai contoh, kotak teks WMD yang saya ketikkan ke dalam interpretasi yang tidak dapat dijelaskan Ctrl+ Delsebagai "Blockquote" daripada "delete word forward". Saya ingin tahu apakah ada daftar standar cara pintas "aman-peramban" yang dapat digunakan pengembang situs dan bahwa peramban akan berkomitmen untuk menjauh dari versi yang akan datang.
sumber
Ini adalah versi terbaru dari jawaban @ AlanBellows, yang diganti
which
dengankey
. Itu juga berfungsi bahkan dengan kesalahan kunci huruf besar Chrome (di mana jika Anda menekan Ctrl+ Situ mengirim huruf kapital S bukannya s). Bekerja di semua browser modern.sumber
Ini adalah solusi saya, yang jauh lebih mudah dibaca daripada saran lain di sini, dapat dengan mudah memasukkan kombinasi tombol lainnya, dan telah diuji pada IE, Chrome, dan Firefox:
sumber
String.fromCharCode
. Meskipun, Mac tidak memiliki kunci kontrol. Uji kunci perintah denganevt.metaKey
. Ia kembalitrue
untuk Cmd pada Mac dan Menang di Windows.Saya suka plugin kecil ini . Perlu sedikit lebih ramah browser lintas.
sumber
Ini harus berfungsi (diadaptasi dari https://stackoverflow.com/a/8285722/388902 ).
sumber
contoh:
pemakaian
tautan untuk unduhan: http://www.openjs.com/scripts/events/keyboard_shortcuts/#
sumber
Untuk jawaban Alan Bellows:! (E.altKey) ditambahkan untuk pengguna yang menggunakan AltGrsaat mengetik (mis. Polandia). Tanpa menekan AltGr+ ini Sakan memberikan hasil yang sama dengan Ctrl+S
sumber
Plugin ini Dibuat oleh saya semoga bermanfaat.
Plugin
Anda dapat menggunakan plugin ini Anda harus menyediakan Kode kunci dan fungsinya untuk dijalankan seperti ini
Dalam kode, saya telah menampilkan cara melakukan untuk Ctrl+ S. Anda akan mendapatkan Dokumentasi Lengkap di tautan tersebut. Plugin ada di bagian Kode JavaScript Pena saya di Codepen.
sumber
Saya memecahkan masalah saya di IE , menggunakan
alert("With a message")
untuk mencegah Perilaku default:sumber