คุณสมบัติ 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" ขณะที่มีการเกิดเหตุการณ์กดปุ่มคีย์บอร์ด ให้ใช้ altKeyctrlKey/、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