อ็อบเจกต์ KeyboardEvent แสดงถึงเหตุการณ์เมื่อผู้ใช้กดปุ่มบนคีย์บอร์ด
คุณสมบัติและเมธอด
| คุณสมบัติ/เมธอด | คำอธิบาย |
|---|---|
| altKey | คืนค่าว่าปุ่ม ALT ถูกกดหรือไม่ |
| charCode | คืนค่ารหัส Unicode ของตัวอักษร (ล้าสมัย) |
| code | คืนค่ารหัสของปุ่ม (เช่น "KeyA", "ShiftLeft") |
| ctrlKey | คืนค่าว่าปุ่ม CTRL ถูกกดหรือไม่ |
| getModifierState() | คืนค่า true ถ้าปุ่ม modifier ระบุถูกเปิดใช้งาน |
| isComposing | คืนค่าสถานะการ compose ของเหตุการณ์ |
| key | คืนค่าคีย์ที่กด (แนะนำให้ใช้แทน keyCode/charCode) |
| keyCode | คืนค่ารหัส Unicode ของปุ่มที่กระตุ้นเหตุการณ์ (ล้าสมัย) |
| location | คืนค่าตำแหน่งของปุ่มบนคีย์บอร์ด (0=กลาง, 1=ซ้าย, 2=ขวา, 3=นัมพัด) |
| metaKey | คืนค่าว่าปุ่ม Meta (⌘/Windows) ถูกกดหรือไม่ |
| repeat | คืนค่าว่าปุ่มถูกกดค้างอยู่หรือไม่ |
| shiftKey | คืนค่าว่าปุ่ม SHIFT ถูกกดหรือไม่ |
| which | คืนค่ารหัส Unicode (ล้าสมัย ใช้ key แทน) |
เหตุการณ์ที่เกี่ยวข้อง
| เหตุการณ์ | คำอธิบาย |
|---|---|
| onkeydown | เกิดเมื่อผู้ใช้กำลังกดปุ่มอยู่ |
| onkeypress | เกิดเมื่อผู้ใช้กดปุ่ม (ล้าสมัย ใช้ keydown แทน) |
| onkeyup | เกิดเมื่อผู้ใช้ปล่อยปุ่ม |
ตัวอย่างการใช้งาน (คุณสมบัติ key)
ตัวอย่างด้านล่างตรวจสอบการพิมพ์ 'B' สำหรับ "B for Ball":
<!DOCTYPE html>
<html>
<head>
<title>KeyboardEvent key</title>
<style>
form { width: 70%; margin: 0 auto; text-align: center; }
* { padding: 2px; margin: 5px; }
input[type="button"] { border-radius: 10px; }
</style>
</head>
<body>
<form>
<fieldset>
<legend>KeyboardEvent-key</legend>
<label>Fill in the blanks: <input type="text" id="textSelect" placeholder="__ for Ball" onkeypress="getEventData(event)" autocomplete="off"> </label>
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var textSelect = document.getElementById("textSelect");
function getEventData(InputEvent) {
if(InputEvent.key === 'B')
divDisplay.textContent = 'Correct Answer';
else if(InputEvent.key === 'b')
divDisplay.textContent = 'Close call, you might have caps lock turned off';
else
divDisplay.textContent = 'Try Again, ' + textSelect.placeholder;
textSelect.textContent = '';
}
</script>
</body>
</html>
ผลลัพธ์
ก่อนพิมพ์: แสดงช่องกรอกว่าง
พิมพ์ 'b' (ตัวเล็ก): แสดง "Close call, you might have caps lock turned off"
พิมพ์ 'B' (ตัวใหญ่): แสดง "Correct Answer"
หมายเหตุ: รูปภาพตัวอย่างจากต้นฉบับไม่ได้รวมอยู่ในเนื้อหานี้