JavaScript Event学习第十一章 按键的检测_javascript技巧
第一个问题是对于按键事件来说根本就没有标准,按照规范说的:包含键盘等输入设备的事件模型会在以后的DOM规范中作出解释。
正如我们了解到的,浏览器在最开始设计的时候并没有一个标准,大家都像做实验似的,最后的成品虽然是有用的,但是肯定造成了兼容性的问题。按键问题也不例外:这里有两个属性能检测到用户按下了什么键,虽然有足够的理由为什么需要两个属性,但是依然并不是所有的浏览器都支持。
另外,在keypress与keydown和keyup之间还有一些很重要的区别。
最后就是windows和mac的区别了,在mac上要检测用户按下了什么键简直比在windows下难了N倍。
keyCode和charCode
能检测到用户按下了什么键的两个属性就是keyCode和charCode了。简单说来:keyCode是用来检测用户真正按下了键盘上那个键的,而charCode则是给出键入字符的ASCII码。有一些小问题需要注意:大写的A和小写的a的keyCode是一样的,因为他们在键盘上就是一个键;但是charCode不一样,因为他俩是两个不同的字符。
IE和Opera不支持charCode。然而他们会在keyCode里面保存字符信息,但是只是在onkeypress的情况下,在onkeydown/up情况下包含的是键的信息。
字符和数字键
让我们以一个简单的例子开始。小写a的ASCII码是97,大写的是65。那么在两种情况下,当用户在键盘上敲下相同的键的时候,什么时候的键值是65呢(相当于大写的A)
keyCode
charCode
因此,在onkeydown/up的情况下,你能够从keyCode里面得到键值。在onkeypress情况下,想要得到字符值就要使用:evt.charCode || evt.keyCode.
标点符号
我还是决定不对标点符号键做测试了。我怀疑这不仅跟浏览器和操作系统有关,还可能跟键盘设置和默认语言有关。我一般用的是荷兰语版的windows,如果跟美国版的101键的键盘相比有很大出入,我一点都不会觉得意外。
比如说shift+,键出来的应该是
特别键
功能键就是只那些不能打印出来的但是却具有一定功能的键。比如shift、ESC、enter等等都是功能键。
一些说明:
1、一般,mac的可靠性比windows要差,有些键可能检测不到
2、IE不会触发下面这键的keypress事件:delete, end, enter, escape, 功能键, home, insert, pageUp/Down 和 tab。
3、在onkeypress事件下,Safari会给下面这些键给出很奇怪的keyCode值:delete, end, 功能键, home 和 pageUp.Down。但是在onkeydown/up下面就很正常。
4、Alt,Cmd,Ctrl和shfit键在mac上无法探测,不过Opera下面例外。然而你却可以使用altKey,ctrlKey,shfitKey这些属性。
如果你需要探测这些键,你就探测一下载onkeydown/up下面的keyCode就行了,算是给自己帮忙了,onkeypress和charCode就忘掉吧。
原文后面有个大的键值的列表,还有一个测试框,有兴趣的童鞋可以移步。
翻译地址:http://www.quirksmode.org/js/keys.html
转载请保留以下信息
作者:北玉(tw:@rehawk)

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Salam semua. Hari ini saya ingin berkongsi dengan anda projek pengesanan jatuh, tepatnya, ia adalah pengecaman pergerakan manusia berdasarkan titik rangka. Ia secara kasarnya dibahagikan kepada tiga langkah: pengecaman badan manusia, kod sumber projek pengelasan titik rangka manusia telah dibungkus, lihat penghujung artikel untuk cara mendapatkannya. 0. chatgpt Pertama, kita perlu mendapatkan aliran video yang dipantau. Kod ini agak tetap. Kita boleh terus chatgpt melengkapkan kod yang ditulis oleh chatgpt Tiada masalah dan boleh digunakan terus. Tetapi apabila ia datang kepada tugas perniagaan kemudian, seperti menggunakan mediapipe untuk mengenal pasti titik rangka manusia, kod yang diberikan oleh chatgpt adalah tidak betul. Saya rasa chatgpt boleh digunakan sebagai kotak alat yang bebas daripada logik perniagaan Anda boleh cuba menyerahkannya kepada c

Prestasi i77700 adalah mencukupi untuk menjalankan win11, tetapi pengguna mendapati bahawa i77700 mereka tidak boleh dinaik taraf kepada win11 Ini terutamanya disebabkan oleh sekatan yang dikenakan oleh Microsoft, jadi mereka boleh memasangnya selagi mereka melangkau sekatan ini. i77700 tidak boleh dinaik taraf kepada win11: 1. Kerana Microsoft mengehadkan versi CPU. 2. Hanya Intel generasi kelapan dan versi ke atas boleh terus menaik taraf kepada win11 3. Sebagai generasi ke-7, i77700 tidak dapat memenuhi keperluan naik taraf win11. 4. Walau bagaimanapun, i77700 benar-benar mampu menggunakan win11 dengan lancar dari segi prestasi. 5. Jadi anda boleh menggunakan sistem pemasangan langsung win11 laman web ini. 6. Selepas muat turun selesai, klik kanan fail dan "muat"nya. 7. Klik dua kali untuk menjalankan "Satu klik

Di atas l ialah anjakan di sebelah kiri papan kekunci L di sini bermaksud kiri, yang bertentangan dengan r.

Ramai rakan tidak menyukai fungsi getaran kunci pada telefon mudah alih, terutamanya kerana ia tidak praktikal dan secara relatifnya, ia juga menggunakan lebih banyak kuasa. Hari ini saya akan membawa anda cara untuk mematikan getaran kunci Redmi K40Pro, serta tutorial tentang cara menyediakan butang kembali pada telefon Redmi. Untuk cara mematikan getaran kunci pada Redmi K40Pro, anda boleh ikuti langkah di bawah: 1. Buka menu tetapan telefon anda. 2. Dalam menu tetapan, cari pilihan "Bunyi & Getaran". 3. Dalam pilihan "Bunyi dan Getaran", cari tetapan "Getaran Kekunci". 4. Klik pada tetapan "Getaran Kunci" dan kemudian matikan fungsi ini. Untuk tetapan butang kembali pada telefon Redmi, anda boleh mengikuti langkah di bawah: 1. Buka menu tetapan telefon. 2. dalam

Hari ini saya ingin memperkenalkan kepada anda artikel yang diterbitkan oleh MIT minggu lepas, menggunakan GPT-3.5-turbo untuk menyelesaikan masalah pengesanan anomali siri masa, dan pada mulanya mengesahkan keberkesanan LLM dalam pengesanan anomali siri masa. Tiada penalaan dalam keseluruhan proses, dan GPT-3.5-turbo digunakan secara langsung untuk pengesanan anomali Inti artikel ini ialah cara menukar siri masa kepada input yang boleh dikenali oleh GPT-3.5-turbo, dan cara mereka bentuk. gesaan atau saluran paip untuk membenarkan LLM menyelesaikan tugas pengesanan anomali. Izinkan saya memperkenalkan karya ini kepada anda secara terperinci. Tajuk kertas imej: Largelanguagemodelscanbezero-shotanomalydete

Saya percaya bahawa ramai rakan yang bermain permainan menghadapi masalah menaip apabila menekan shift Ini kerana kekunci pensuisan kaedah input lalai sistem adalah anjakan, jadi kami boleh menyelesaikan masalah ini dengan mengubah suai kekunci dan cubalah. Apabila bermain permainan dalam win11, anda boleh menaip dengan menekan shift: Langkah pertama ialah membuka tetapan dengan menekan "Win" + "i" pada papan kekunci. Langkah kedua ialah klik "Masa dan Bahasa" di lajur kiri Langkah ketiga ialah memasukkan tetapan "Input" di sebelah kanan. Langkah keempat ialah membuka "Tetapan Papan Kekunci Lanjutan". Langkah kelima ialah mengklik butang "Kekunci Panas Bahasa Input" di bawah Kaedah Input Tukar. Langkah 6. Klik "Tukar Urutan Kunci" dalam tetingkap timbul Langkah 7. Tukar bahasa input bertukar kepada "Tidak Ditugaskan" dan sahkan untuk menyimpan.

01Garis prospek Pada masa ini, sukar untuk mencapai keseimbangan yang sesuai antara kecekapan pengesanan dan hasil pengesanan. Kami telah membangunkan algoritma YOLOv5 yang dipertingkatkan untuk pengesanan sasaran dalam imej penderiaan jauh optik resolusi tinggi, menggunakan piramid ciri berbilang lapisan, strategi kepala pengesanan berbilang dan modul perhatian hibrid untuk meningkatkan kesan rangkaian pengesanan sasaran dalam imej penderiaan jauh optik. Menurut set data SIMD, peta algoritma baharu adalah 2.2% lebih baik daripada YOLOv5 dan 8.48% lebih baik daripada YOLOX, mencapai keseimbangan yang lebih baik antara hasil pengesanan dan kelajuan. 02 Latar Belakang & Motivasi Dengan perkembangan pesat teknologi penderiaan jauh, imej penderiaan jauh optik resolusi tinggi telah digunakan untuk menggambarkan banyak objek di permukaan bumi, termasuk pesawat, kereta, bangunan, dll. Pengesanan objek dalam tafsiran imej penderiaan jauh

Dengan pembangunan berterusan aplikasi web moden, PHP, sebagai salah satu bahasa pengaturcaraan yang paling popular, digunakan secara meluas dalam pembangunan laman web. Walau bagaimanapun, semasa proses pembangunan, ralat nilai nol sering ditemui, dan ralat ini boleh menyebabkan aplikasi membuang pengecualian, sekali gus menjejaskan pengalaman pengguna. Oleh itu, dalam proses pembangunan PHP, cara mengesan dan menangani ralat null adalah kemahiran penting yang perlu dikuasai oleh pengaturcara. 1. Apakah ralat nilai nol Dalam proses pembangunan PHP, ralat nilai nol biasanya merujuk kepada dua situasi: pembolehubah tidak diinisialisasi dan pembolehubah berubah.
