Saya mencoba melakukan fungsi jika enter ditekan saat input tertentu.
Apa yang saya lakukan salah?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
Apakah ada cara yang lebih baik untuk melakukan ini yang akan mengatakan, jika masuk ditekan .input1
fungsi lakukan?
javascript
jquery
jQuerybeast
sumber
sumber
Jawaban:
sumber
event.keyCode
ini adalahNumber
, jadi JavaScript akan mengambil langkah yang sama dengan==
atau===
.which
,code
,charCode
dankeyCode
sudah ditinggalkan developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent , silahkan menambahkan informasi yang sebenarnya untuk jawaban Anda.event.key === "Enter"
Lebih baru dan lebih bersih: gunakan
event.key
. Tidak ada lagi kode angka yang berubah-ubah!Jika Anda harus menggunakan jQuery:
Mozilla Docs
Browser yang Didukung
sumber
Atau hanya mengikat ke input itu sendiri
Untuk mengetahui keyCode mana yang Anda butuhkan, gunakan situs web http://keycode.info
sumber
Coba ini untuk mendeteksi
Enter
tombol yang ditekan di kotak teks.sumber
Mungkin sudah terlambat untuk menjawab pertanyaan ini. Tetapi kode berikut hanya mencegah kunci enter. Cukup salin dan tempel seharusnya berhasil.
sumber
Cara terbaik yang saya temukan adalah menggunakan
keydown
(keyup
tidak berfungsi dengan baik untuk saya).Catatan: Saya juga menonaktifkan form submit karena biasanya ketika Anda suka melakukan beberapa tindakan ketika menekan Enter Key, satu-satunya yang Anda pikir tidak Anda sukai adalah mengirimkan form :)
sumber
Solusi yang bekerja untuk saya adalah sebagai berikut
sumber
Coba ini untuk mendeteksi tombol Enter yang ditekan dalam kotak teks.
DEMO
sumber
sumber
Kode ini menangani setiap input untuk saya di seluruh situs. Ia memeriksa KUNCI ENTER di dalam bidang INPUT dan tidak berhenti di TEXTAREA atau tempat lain.
sumber