209 of 264 menu

addEventListener method

เมธอด addEventListener ช่วยให้ คุณสามารถกำหนดตัวจัดการเหตุการณ์ให้กับองค์ประกอบ ด้วยมัน คุณสามารถระบุได้ ตัวอย่างเช่น ว่าจะทำอย่างไรเมื่อปุ่มถูกคลิกหรือจะ ทำอย่างไรเมื่อพิมพ์ในช่องข้อความ ในพารามิเตอร์แรก เราระบุประเภทของเหตุการณ์ ที่จะส่งต่อ ในพารามิเตอร์ที่สอง - ฟังก์ชัน ที่จะถูกเรียกใช้งานหลังจากเหตุการณ์ ที่ระบุในพารามิเตอร์แรก ใน พารามิเตอร์ที่สามซึ่งเป็นตัวเลือก เราเลือกส่ง คุณลักษณะของอ็อบเจกต์ (once, capture, passive) หรือพารามิเตอร์ useCapture

ไวยากรณ์

element.addEventListener('ประเภทเหตุการณ์', function, [คุณลักษณะของอ็อบเจกต์]); หรือ element.addEventListener('ประเภทเหตุการณ์', function, [useCapture]);

ตัวอย่าง

มาทำให้เมื่อปุ่ม ถูกคลิก จะมีข้อความแสดงขึ้น:

<input type="button" id="button" value="คลิกฉัน"> let button = document.querySelector('#button'); button.addEventListener('click', function() { alert('ข้อความ'); });

:

ตัวอย่าง

มาเขียนโค้ดเพื่อให้เมื่อเสียโฟกัส ในอินพุต จะมีข้อความแสดงขึ้นพร้อมกับ ข้อความภายในอินพุตนั้น:

<input id="input" value="ข้อความ"> let input = document.querySelector('#input'); input.addEventListener('blur', function() { alert(this.value); });

:

ตัวอย่าง

มาทำให้เมื่อปุ่มถูก คลิก จะมีข้อความแสดงขึ้นในคอนโซล เพียงครั้งเดียวเท่านั้น ในการทำเช่นนี้ เราใช้ พารามิเตอร์ที่สอง:

<input type="button" id="button" value="คลิกฉัน"> let button = document.querySelector('#button'); button.addEventListener('click', function() { console.log('ข้อความ'); }, { once: true } );

ตัวอย่าง

พารามิเตอร์ passive ป้องกันไม่ให้ เมธอด event.preventDefault ถูกเรียกเมื่อจัดการกับเหตุการณ์ มาลอง ใช้เมธอด event.preventDefault กับตัวอย่างที่แล้ว และตั้งค่า พารามิเตอร์ passive เป็น true:

<input type="button" id="button" value="คลิกฉัน"> let button = document.querySelector('#button'); button.addEventListener('click', function(event) { event.preventDefault(); console.log('ไม่มีข้อความ'); }, { passive: true } );

หลังจากรันโค้ด เราจะเห็น ข้อความต่อไปนี้:

'ไม่มีข้อความ'; 'ไม่สามารถเรียก preventDefault ภายในตัวฟังเหตุการณ์แบบ passive ได้'

ตัวอย่าง

พารามิเตอร์ useCapture ที่ตั้งค่าเป็น true แสดงการแพร่ของเหตุการณ์แบบ bubbling จากองค์ประกอบด้านในไปยังองค์ประกอบด้านนอก ส่วนค่า false - จาก องค์ประกอบด้านนอกไปยังองค์ประกอบด้านใน เมื่อ ส่งพารามิเตอร์ useCapture ชื่อของมันจะถูกละไว้และเขียนแค่ true หรือ false มาดูกันว่า เหตุการณ์แพร่ในองค์ประกอบพ่อแม่และลูก อย่างไรเมื่อพวกมันถูกคลิก:

<div id="parent">พ่อแม่ <p id="child">ลูก</p> </div> #parent{ width: 60px; padding: 10px; border: 1px solid red; text-align: center; } #child{ width: 60px; marging-right: 40px; border: 1px solid blue; text-align: center; } let parent = document.querySelector('#parent'); let child = document.querySelector('#parent'); parent.addEventListener('click', () => alert('parent'), true ); child.addEventListener('click', () => alert('child'), true );

:

ดูเพิ่มเติม

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