News from the Field
A channel with tips on modern AI development. Join!
⊗jsPmOEEE 419 of 505 menu
◀ ▶

องค์ประกอบเหตุการณ์ในอ็อบเจ็กต์ Event ใน JavaScript

อ็อบเจ็กต์ Event ยังอนุญาตให้รับ องค์ประกอบที่เหตุการณ์เกิดขึ้น องค์ประกอบนี้ อยู่ในคุณสมบัติ target ทำไมถึงจำเป็น ในเมื่อองค์ประกอบนี้อยู่ใน this แล้ว?

ความจริงก็คือ this จะมีองค์ประกอบ ที่เหตุการณ์ถูกผูกไว้ เสมอ ส่วนคุณสมบัติ target คือองค์ประกอบที่ถูกคลิกจริงๆ องค์ประกอบจริงนี้อาจตรงกับ this หรืออาจไม่ตรงกัน

ลองดูตัวอย่าง สมมติว่าเรามี div และภายในมีย่อหน้า:

<div id="elem"> <p>ข้อความ</p> </div>

ลองผูกเหตุการณ์กับ div แต่คลิกที่ย่อหน้า แน่นอนว่าการคลิกที่ย่อหน้านั้น เป็นทั้งการคลิกที่ div ด้วย เนื่องจาก ย่อหน้าอยู่ใน div ของเรา

ในกรณีที่อธิบาย คุณสมบัติ target จะมีแท็กสุดท้าย ที่เหตุการณ์เกิดขึ้น นั่นคือย่อหน้า ไม่ใช่ div มาดูกัน:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // จะแสดงย่อหน้าของเรา console.log(this); // จะแสดง div ของเรา });

สมมติว่าคุณมีรายการ ul พร้อมแท็ก li:

ul { padding: 30px; border: 1px solid red; } li { list-style-type: none; margin-bottom: 20px; border: 1px dashed black; } <ul id="elem"> <li>ข้อความ</li> <li>ข้อความ</li> <li>ข้อความ</li> <li>ข้อความ</li> <li>ข้อความ</li> </ul>

:

ผูกตัวจัดการคลิกกับแท็ก ul ในตัวจัดการนี้ ตรวจสอบโดยใช้คุณสมบัติ tagName ว่าคลิกที่แท็กใด หากคลิกที่ แท็ก li - ให้เพิ่มเครื่องหมายอัศเจรีย์ ที่ท้ายข้อความของแท็กนั้น และหากคลิก ที่แท็ก ul - ให้แสดงข้อมูล เกี่ยวกับสิ่งนี้ในคอนโซล

← →
↑
ไทย▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ