Jadi kode yang saya miliki selama ini adalah:
<fieldset id="LinkList">
<input type="text" id="addLinks" name="addLinks" value="http://">
<input type="button" id="linkadd" name="linkadd" value="add">
</fieldset>
Ini tidak ada di dalam <form>
dan sama seperti di dalam a <div>
. Namun ketika saya mengetik sesuatu ke dalam yang textbox
disebut "addLinks", saya ingin pengguna dapat menekan Enter dan memicu "linkadd"button
yang kemudian akan menjalankan fungsi JavaScript.
Bagaimana saya bisa melakukan ini?
Terima kasih
Sunting: Saya memang menemukan kode ini, tetapi sepertinya tidak berhasil.
$("#addLinks").keyup(function(event){
if(event.keyCode == 13){
$("#linkadd").click();
}
});
keypress
dan memeriksae.charCode==13
(tombol enter).keypress
ataukeydown
disebutkan dalam jawaban ini adalah cara yang tepat.Jawaban:
sumber
Sekarang …… 2020. Dan saya yakin ini masih berlaku.
JANGAN GUNAKAN
keypress
keypress
Acara ini tidak dipicu ketika pengguna menekan tombol yang tidak menghasilkan karakter apapun , seperti Tab, Caps Lock, Delete, Backspace, Escape, kiri & kanan Shift, tombol fungsi ( F1- F12).Sudah tidak digunakan lagi.
JANGAN GUNAKAN
KeyboardEvent.keyCode
Lalu apa yang harus saya gunakan? (Praktik yang baik)
sumber
if (event.key == "Enter") { document.querySelector("#linkadd").click(); }
:?.key
tidak didukung di semua browser: caniuse.com/#feat=keyboardevent-key - sekitar 10% orang menggunakan browser yang tidak mendukungnya.Ada solusi bebas js.
Setel
type=submit
ke tombol yang Anda inginkan sebagai default dantype=button
ke tombol lain. Sekarang di formulir di bawah ini Anda dapat menekan Enter di sembarang bidang masukan, danRender
tombol akan berfungsi (meskipun faktanya itu adalah tombol kedua di formulir).Contoh:
Diuji di FF24 dan Chrome 35 (
formaction
adalah fitur html5, tetapitype
tidak).sumber
button
dengan asubmit
submit
pengendali formulir, bukanclick
pengendali tombolMenekan enter di lapangan akan memicu pengiriman formulir, dan penangan pengiriman akan aktif.
sumber
Anda bisa menambahkan event handler ke masukan Anda seperti:
sumber
Ini berfungsi ketika input type = "button" diganti dengan input type = "submit" untuk tombol default yang perlu dipicu.
sumber
Pertama-tama tambahkan file jquery library jquery dan panggil di kepala html Anda.
dan kemudian Gunakan kode berbasis jquery ...
sumber
Ini harus melakukannya, saya menggunakan jQuery Anda dapat menulis javascript biasa.
Ganti
sendMessage()
dengan fungsionalitas Anda.sumber
Berdasarkan beberapa jawaban sebelumnya, saya mendapatkan ini:
Lihatlah Fiddle
EDIT: Jika Anda tidak ingin menambahkan elemen html tambahan, Anda dapat melakukan ini hanya dengan JS:
sumber
Saya menemukan howto w3schools.com, halaman coba saya ada di berikut ini.
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_trigger_button_enter
Ini berfungsi di browser biasa saya tetapi tidak berfungsi di aplikasi php saya yang menggunakan browser php bawaan.
Setelah sedikit bermain-main, saya menemukan alternatif JavaScript murni berikut yang berfungsi untuk situasi saya dan harus berfungsi dalam setiap situasi lain:
HTML Tekan tombol enter di dalam kotak teks untuk mengaktifkan tombol.
sumber
sumber
Saya menggunakan tombol kendo. Ini berhasil untuk saya.
sumber