⊗jqEvtDe 100 of 113 menu

การมอบหมายงานใน jQuery

หากคุณเคยศึกษา JavaScript มาก่อน คุณคงเคยพบกับหัวข้อ การมอบหมายเหตุการณ์ (event delegation) ซึ่งสามารถใช้ เพื่อแก้ปัญหาในการกำหนดเหตุการณ์ให้กับองค์ประกอบใหม่ได้ มาดูกันว่า ใน jQuery จะเป็นอย่างไร

ลองดูโค้ด HTML ต่อไปนี้:

<ul> <li>text</li> <li>text</li> <li>text</li> </ul>

CSS สำหรับโค้ดนี้มีหน้าตาดังนี้:

li { width: 100px; cursor: pointer; }

คราวนี้ ใช้เมธอด on เพื่อผูกเมธอด click ไม่ใช่ กับรายการในลิสต์ li อย่างที่เคยทำในบทเรียน ก่อนหน้า แต่ให้ผูกกับลิสต์ ul เอง และส่ง พารามิเตอร์ตัวที่สอง (ซึ่งเป็นตัวเลือก) 'li' ในฐานะ ตัวเลือกสำหรับลูกหลาน (descendant selector) มาดูกันว่าผลลัพธ์จะเป็นอย่างไร:

$('ul').on('click', 'li', function() { $(this).append('!'); });

มี ul อยู่หนึ่งอัน และภายในมี li หลายรายการ ใต้ ul ให้สร้างปุ่ม โดยเมื่อกดปุ่มนี้แล้ว จะต้องมี li ใหม่เพิ่มเข้ามาที่ท้าย ul พร้อมกับข้อความ 'item' ทำให้เมื่อคลิกที่ แต่ละ li จะมี '!' ต่อท้ายข้อความ และต้องใช้งานได้กับ li ที่เพิ่มเข้ามาใหม่ด้วย แก้ไขปัญหานี้โดยใช้การมอบหมายงาน (กล่าวคือ เหตุการณ์ต้องถูกกำหนด ไว้ที่ ul)

มีตารางผู้ใช้ที่มีสองคอลัมน์: ชื่อและนามสกุล ใต้ตารางให้สร้างแบบฟอร์มสำหรับเพิ่มผู้ใช้ใหม่ลงใน ตาราง ทำให้เมื่อคลิกที่เซลล์ใดๆ จะมี prompt ปรากฏขึ้น และสามารถใช้เปลี่ยนข้อความในเซลล์นั้นได้ แก้ไขปัญหานี้โดยใช้การมอบหมายงาน (กล่าวคือ เหตุการณ์ ต้องถูกกำหนดไว้ที่ table)

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