⊗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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ