मैं 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()
कि गतिशील रूप से लोडिंग तत्वों से पहले असाइन करने की कोशिश की जा रही है ।