คำถามติดแท็ก event-binding

5
Direct vs. Delegated - jQuery .on ()
ฉันพยายามที่จะเข้าใจความแตกต่างนี้โดยเฉพาะระหว่างโดยตรงและได้รับการแต่งตั้งจัดการเหตุการณ์โดยใช้jQuery .on ()วิธีการ ประโยคสุดท้ายในย่อหน้านี้โดยเฉพาะ: เมื่อselectorมีให้จัดการเหตุการณ์จะเรียกว่าได้รับมอบหมาย ตัวจัดการจะไม่ถูกเรียกเมื่อเหตุการณ์เกิดขึ้นโดยตรงกับองค์ประกอบที่ถูกผูก แต่สำหรับลูกหลาน (องค์ประกอบภายใน) ที่ตรงกับตัวเลือก jQuery ทำให้ฟองเหตุการณ์จากเหตุการณ์เป้าหมายไปยังองค์ประกอบที่แนบตัวจัดการ (กล่าวคือภายในสุดถึงองค์ประกอบนอกสุด) และเรียกใช้ตัวจัดการสำหรับองค์ประกอบใด ๆ ตามเส้นทางนั้นที่ตรงกับตัวเลือก การ "เรียกใช้ตัวจัดการสำหรับองค์ประกอบใด ๆ " หมายความว่าอย่างไร ฉันทำหน้าทดสอบเพื่อทดสอบด้วยแนวคิด แต่โครงสร้างทั้งสองต่อไปนี้นำไปสู่พฤติกรรมที่เหมือนกัน: $("div#target span.green").on("click", function() { alert($(this).attr("class") + " is clicked"); }); หรือ, $("div#target").on("click", "span.green", function() { alert($(this).attr("class") + " is clicked"); }); บางทีใครบางคนอาจอ้างถึงตัวอย่างที่แตกต่างเพื่อชี้แจงประเด็นนี้? ขอบคุณ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.