Thuộc tính keyCode của sự kiện KeyboardEvent

Định nghĩa và cách sử dụng

thuộc tính keyCode trả về sự kích hoạt Sự kiện onkeypress mã ký tự Unicode của phím hoặc kích hoạt onkeydown hoặc Sự kiện onkeyup mã phím Unicode của phím

Khác biệt giữa hai loại mã

  • Mã ký tự - số số liệu đại diện cho ký tự ASCII
  • Mã phím - đại diện cho số của phím thực tế trên bàn phím

Loại này không phải lúc nào cũng có nghĩa là cùng một điều. Ví dụ, phím "w" và "W" có mã phím bàn phím cùng nhau vì phím được nhấn trên bàn phím là cùng nhau ("W" = số "87"), nhưng mã ký tự khác nhau vì ký tự kết quả là khác nhau ("w" hoặc "W", tức là "119" hoặc "87") - Hãy xem thêm các ví dụ dưới đây để có hiểu biết tốt hơn về điều này.

Lưu ý:Để biết người dùng có nhấn phím có thể in (ví dụ "a" hoặc "5") hay không, đề xuất sử dụng thuộc tính này trên sự kiện onkeypress. Để biết người dùng có nhấn phím chức năng (ví dụ "F1", "CAPS LOCK" hoặc "Home") hay không, hãy sử dụng sự kiện onkeydown hoặc onkeyup.

Chú thích:Trong Firefox, thuộc tính keyCode không hoạt động với sự kiện onkeypress (chỉ trả về 0). Để có giải pháp tương thích giữa các trình duyệt, hãy sử dụng Thuộc tính whichKết hợp với keyCode, ví dụ:

var x = event.which || event.keyCode;  // Sử dụng which hay keyCode phụ thuộc vào hỗ trợ của trình duyệt

Lưu ý:Để xem danh sách tất cả các ký tự Unicode, hãy xem Tài liệu tham khảo Unicode hoàn chỉnh.

Lưu ý:Nếu bạn muốn chuyển đổi giá trị Unicode thành ký tự, hãy sử dụng fromCharCode() phương thức.

Chú thích:Thuộc tính này chỉ đọc.

Chú thích:Cung cấp thuộc tính keyCode và which chỉ để đảm bảo tương thích. Theo quy định mới nhất của DOM sự kiện, đề xuất sử dụng thuộc tính key (nếu có sẵn).

Lưu ý:Nếu bạn muốn biết có phải phím "ALT", "CTRL", "META" hoặc "SHIFT" được nhấn khi xảy ra sự kiện nhấn phím hay không, hãy sử dụng altKey,ctrlKey/,metaKey hoặc shiftKey Thuộc tính.

Mô hình

Ví dụ 1

Lấy giá trị Unicode của phím nhấn:

var x = event.keyCode;

Thử trực tiếp

Ví dụ 2

Sử dụng onkeypress và onkeydown để minh họa sự khác biệt giữa mã ký tự và mã phím bàn phím:

<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> 
function uniCharCode(event) {
  var char = event.which || event.keyCode;
  document.getElementById("demo").innerHTML = "Mã CHARACTER Unicode: " + char;
}
function uniKeyCode(event) {
  var key = event.keyCode;
  document.getElementById("demo2").innerHTML = "Mã KEY Unicode: " + key;
}

Khi nhấn phím "a" trên bàn phím (không sử dụng Capslock), kết quả của char và key sẽ là:

Mã CHARACTER Unicode: 97
Mã KEY Unicode: 65

Thử trực tiếp

Ví dụ 3

Nếu người dùng nhấn phím Escape, thì hiển thị một đoạn văn bản:

<input type="text" onkeydown="myFunction(event)"> 
function myFunction(event) {
  var x = event.keyCode;
  if (x == 27) {  // 27 là phím ESC
    alert ("Bạn đã nhấn phím Escape!");
  }
}

Thử trực tiếp

Ví dụ 4

Chuyển đổi giá trị Unicode thành ký tự (không áp dụng cho phím chức năng):

var x = event.keyCode;                // Lấy giá trị Unicode
var y = String.fromCharCode(x);       // Chuyển đổi giá trị thành ký tự

Thử trực tiếp

Cú pháp

event.keyCode

Chi tiết kỹ thuật

Giá trị trả về: Giá trị số, biểu thị mã Unicode hoặc mã phím Unicode.
Phiên bản DOM: Sự kiện DOM Level 2

Hỗ trợ trình duyệt

Thuộc tính Chrome IE Firefox Safari Opera
keyCode Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ

Trang liên quan

Tài liệu tham khảo HTML DOM:Thuộc tính key của KeyboardEvent

Tài liệu tham khảo HTML DOM:Thuộc tính charCode của KeyboardEvent

Tài liệu tham khảo HTML DOM:Thuộc tính which của KeyboardEvent