ฉันใช้ jQuery v.1.7.1 โดยที่วิธีการ. live () ไม่ชัดเจน
ปัญหาที่ฉันมีคือเมื่อโหลด html ไปยังองค์ประกอบแบบไดนามิกโดยใช้:
$('#parent').load("http://...");
หากฉันลองและเพิ่มคลิกเหตุการณ์หลังจากนั้นจะไม่ลงทะเบียนเหตุการณ์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:
$('#parent').click(function() ...);
หรือ
// according to documentation this should be used instead of .live()
$('#child').on('click', function() ...);
วิธีที่ถูกต้องในการบรรลุฟังก์ชั่นนี้คืออะไร? ดูเหมือนว่าจะทำงานกับ. live () สำหรับฉัน แต่ฉันไม่ควรใช้วิธีการนั้น โปรดทราบว่า #child เป็นองค์ประกอบที่โหลดแบบไดนามิก
ขอบคุณ
.live()
มันบอกถึงวิธีการเขียนการใช้ประโยชน์จากที่มีอยู่.live()
กับการใช้งาน.delegate()
หรือ.on()
(ขึ้นอยู่กับว่าคุณอยู่ในรุ่น 1.7+ หรือไม่) โปรดทราบว่าหากคุณเพิ่มตัวจัดการด้วย.click()
"ภายหลัง" ดังที่คุณกล่าวถึงคือหลังจากโหลดองค์ประกอบแบบไดนามิกแล้วควรทำงาน - ปัญหาเดียวคือพยายามกำหนดด้วย.click()
ก่อนที่จะโหลดองค์ประกอบแบบไดนามิก