คุณสมบัติ keyCode ของ KeyboardEvent
คำอธิบายและวิธีใช้
keyCode ค่าที่กลับมาโดยความหมาย เหตุการณ์ onkeypress รหัสอักษร Unicode ของปุ่มของคีย์บอร์ด หรือ ทำให้เกิดเหตุ onkeydown หรือ เหตุการณ์ onkeyup ปุ่มของคีย์บอร์ด Unicode รหัสปุ่ม
ความแตกต่างระหว่างสองประเภทรหัส
- 字符代码 - แสดงเป็นตัวเลขของ ASCII ตัวอักษร
- ตัวเลขปุ่มคีย์ - แสดงค่าเลขของปุ่มคีย์ที่อยู่บนคีย์บอร์ด
ชนิดเหล่านี้ไม่ก็จะหมายถึงสิ่งเดียวกันทุกครั้ง ตัวอย่างเช่น ตัวเลขคีย์บอร์ดของ "w" และ "W" นั้นเหมือนกันเพราะตัวคีย์ที่กดลงเหมือนกัน ("W" = ตัวเลข "87") แต่ตัวเลขอักษรแตกต่าง เพราะตัวอักษรที่ได้รับมาแตกต่าง ("w" หรือ "W" คือ "119" หรือ "87") - โปรดดูตัวอย่างด้านล่างเพื่อที่จะเข้าใจดีขึ้น
คำเตือน:หากต้องการรู้ว่าผู้ใช้กดปุ่มคีย์ที่สามารถพิมพ์ (เช่น "a" หรือ "5") ให้ใช้คุณสมบัตินี้บนเหตุการณ์ onkeypress หากต้องการรู้ว่าผู้ใช้กดปุ่มคีย์ฟังก์ชัน (เช่น "F1"、"CAPS LOCK" หรือ "Home") ให้ใช้เหตุการณ์ onkeydown หรือ onkeyup
หมายเหตุ:ใน Firefox คุณสมบัติ keyCode ไม่มีผลบนเหตุการณ์ onkeypress (จะกลับค่า 0) เพื่อที่จะมีแนวทางที่เป็นกลางเว็บเครื่องมือ ให้ใช้ คุณสมบัติ whichใช้พร้อมกับ keyCode ตัวอย่าง:
var x = event.which || event.keyCode; // ใช้ which หรือ keyCode ขึ้นอยู่กับการสนับสนุนของเว็บเครื่องมือ
คำเตือน:สำหรับรายการความเข้าใจ Unicode ทั้งหมด โปรดดู ความเข้าใจครบถ้วน Unicode。
คำเตือน:หากต้องการแปลงค่า Unicode ไปเป็นอักษร ให้ใช้ fromCharCode() วิธี。
หมายเหตุ:คุณสมบัตินี้เป็นอาทิตย์ได้
หมายเหตุ:keyCode และ which ถูกให้บริการเพื่อความสมรรถนะเชิงประสานงานและนอกจากนี้ DOM มาตราฐานการเกิดเหตุการณ์รุ่นล่าสุดแนะนำให้ใช้คุณสมบัติ key แทน (ถ้ามีอยู่)
คำเตือน:หากคุณต้องการรู้ว่าหรือไม่ที่มีการกดปุ่ม "ALT"、"CTRL"、"META" หรือ "SHIFT" ขณะที่มีการเกิดเหตุการณ์กดปุ่มคีย์บอร์ด ให้ใช้ altKey、ctrlKey/、metaKey หรือ shiftKey คุณสมบัติ。
ตัวอย่าง
ตัวอย่าง 1
ได้รับค่า Unicode ของปุ่มคีย์ที่กดลงมา:
var x = event.keyCode;
ตัวอย่าง 2
ใช้ onkeypress และ onkeydown มาแสดงความแตกต่างระหว่างตัวเลขอักษรและตัวเลขแป้นแผงปุ่มคีย์บอร์ด:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> function uniCharCode(event) { var char = event.which || event.keyCode; document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char; } function uniKeyCode(event) { var key = event.keyCode; document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key; }
เมื่อกดปุ่ม "a" บนแป้นพิมพ์ (ไม่ใช้ Capslock) ตัวอักษรและตัวจับปุ่มของคุณจะเป็น:
Unicode CHARACTER code: 97 Unicode KEY code: 65
ตัวอย่าง 3
หากผู้ใช้กดปุ่ม Escape ของคุณ คุณจะได้รับข้อความบอกเล่าบางอย่าง:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.keyCode; if (x == 27) { // 27 คือปุ่ม ESC alert ("คุณกดปุ่ม Escape!"); } }
ตัวอย่าง 4
แปลงค่า Unicode สู่ตัวอักษร (ไม่เป็นไปตามปกติสำหรับปุ่มทางเงิน):
var x = event.keyCode; // รับค่า Unicode var y = String.fromCharCode(x); // แปลงค่าเป็นตัวอักษร
บทเรียก
event.keyCode
รายละเอียดเทคนิค
ค่าที่กลับมา: | ค่าเลขฐาน ระบุ Unicode ตัวอักษรหรือ Unicode โค้ดจับปุ่ม |
---|---|
เวอร์ชั่น DOM: | เหตุการณ์ DOM Level 2 |
การสนับสนุนโดยเครื่องนี้
แฟ้กเพื่อความเข้าใจ | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
keyCode | การสนับสนุน | การสนับสนุน | การสนับสนุน | การสนับสนุน | การสนับสนุน |
หน้าที่เกี่ยวข้อง
คู่มือ HTML DOM ออกแบบ:คุณสมบัติ key ของ KeyboardEvent
คู่มือ HTML DOM ออกแบบ:คุณสมบัติ charCode ของ KeyboardEvent
คู่มือ HTML DOM ออกแบบ:คุณสมบัติ which ของ KeyboardEvent