⊗jsPmDmLNH 359 of 505 menu

การเพิ่มตัวจัดการเหตุการณ์ในลูปด้วย JavaScript

ตอนนี้เรามาเรียนรู้วิธีเพิ่มตัวจัดการเหตุการณ์ให้กับองค์ประกอบหลายๆ องค์ประกอบพร้อมกัน ตัวอย่างเช่น สมมติว่าเรามีย่อหน้าดังนี้:

<p>text1</p> <p>text2</p> <p>text3</p>

และสมมติว่าเรามีฟังก์ชัน:

function func() { console.log('!'); }

มาทำการวนลูปผ่านย่อหน้าทั้งหมดของเราและเพิ่มฟังก์ชัน func เป็นตัวจัดการการคลิกให้กับแต่ละย่อหน้ากัน:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); }

มาดูขั้นต่อไปและทำให้ เมื่อคลิกที่ย่อหน้าใดๆ ก็ตามจะแสดง ข้อความของย่อหน้านั้นออกมา อย่างไรก็ตาม มีปัญหาอยู่หนึ่ง: มีหลายย่อหน้า แต่มีฟังก์ชันตัวจัดการเพียงฟังก์ชันเดียว แล้วเราจะแยกแยะย่อหน้าต่างๆ ภายในฟังก์ชันตัวจัดการได้อย่างไร?

วัตถุ this จะช่วยเราได้ในเรื่องนี้ - เมื่อ เรียกใช้ฟังก์ชันในขณะเกิดเหตุการณ์ วัตถุนี้ จะชี้ไปยังองค์ประกอบที่เหตุการณ์นั้น เกิดขึ้น มาแก้ไขโค้ดของฟังก์ชัน func ของเรา ตามที่กล่าวมาข้างต้น:

function func() { console.log(this.textContent); // แสดงข้อความของย่อหน้า }

กำหนดฟังก์ชันต่อไปนี้:

function func() { this.value = Number(this.value) + 1; }

และกำหนดให้มีอินพุตหลายช่อง จงทำให้ เมื่อสูญเสียโฟกัสในอินพุตใดๆ ของเรา ฟังก์ชัน ที่ระบุไว้ด้านบนจะถูกดำเนินการ

กำหนดให้มีย่อหน้าที่มีตัวเลข จงทำให้ เมื่อคลิกที่ย่อหน้าใดๆ ตัวเลขในย่อหน้านั้นถูกยกกำลังสอง

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