Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

อ็อบเจกต์ KeyboardEvent ใน HTML DOM

อ็อบเจกต์ 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"

หมายเหตุ: รูปภาพตัวอย่างจากต้นฉบับไม่ได้รวมอยู่ในเนื้อหานี้