मैं अपने पन्ने पर तत्वों को hoverIntent प्लगइन जोड़ने की कोशिश कर रहा हूँ, लेकिन कुछ तत्वों डोम को बाद में जोड़ दिया जाएगा प्रारंभ जो मैं का मतलब प्लगइन को भविष्य के तत्वों के साथ भी बांधना होगा। आप उसे कैसे करते हैं? मैंने कुछ ही प्रश्नों को SO पर कुछ बार देखा है, लेकिन किसी के पास कोई स्पष्ट समाधान नहीं है?jQuery.on() - कैसे, जैसे ही तत्वों लोड हो जाने
उत्तर
ऐसा करने के लिए jQuery में कोई समर्थन नहीं है; यह प्लगइन स्वयं ही समर्थन करना चाहिए। सबसे आम तरीका नई सामग्री जोड़ने के बाद प्लगइन को फिर से शुरू करना है; जो आमतौर पर एक समस्या नहीं है।
एक और विकल्प liveQuery
plugin का उपयोग करना है, और ऐसा कुछ करें;
$('yourSelector').livequery(function() {
$(this).hoverIntent({
// blah
});
});
मैंने एक 're_init()' फ़ंक्शन लिखा है जिसमें सभी कोड शामिल हैं जिन्हें एक बार नई सामग्री लोड होने के बाद पुन: प्रारंभ करने की आवश्यकता होती है। मुझे केवल एहसास हुआ कि ** hoverIntent ** के बाद और अधिक कोड है जिसे इस फ़ंक्शन के साथ शुरू करने के बाद पुन: प्रारंभ करने की आवश्यकता है। –
** किसी और के लिए जो इस समस्या पर ठोकर खाती है: ** होवरइन्टेंट अतिरिक्त प्लगइन की आवश्यकता के बिना ईवेंट प्रतिनिधिमंडल का समर्थन करता है। उदाहरण के लिए नीचे मेरा जवाब देखें। –
यह प्राप्त करने का सबसे अच्छा तरीका है जब आप पृष्ठ पर नए तत्व जोड़ते हैं तो एक कस्टम ईवेंट उठाना है। इस घटना के सदस्य तब उचित होवरइन्टेंट प्रारंभिक कॉलर को कॉल कर सकते हैं।
mutation observers के रूप में अधिक देशी समर्थन होगा, हालांकि ब्राउज़र समर्थन वर्तमान में शून्य के बगल में है।
DOMSubtreeModifed
ईवेंट के लिए सुनना विश्वसनीय नहीं है और प्रमुख प्रदर्शन समस्याओं का कारण बनता है।
उत्परिवर्तन पर्यवेक्षक समर्थन अब अच्छा दिख रहा है http://caniuse.com/mutationobserver/embed –
अपनी jquery संरचना को बदलने का प्रयास करें;
ABC = {
init: function() {//all function names goes here
ABC.myFunction1();
ABC.myFunction2();
ABC.myFunction3();
},
myFunction1: function() {
//code
},
myFunction2: function() {
//code
},
myFunction3: function() {
//code
}//dont put comma last one
}
$(function() {
ABC.init();//calls all functions after everything is initialized and ready.
});
घटना प्रतिनिधिमंडल के लिए "चयनकर्ता" पैरामीटर का उपयोग करें।
$('#PARENT').hoverIntent({
over: function() {
console.log($(this));
},
out: function(){
console.log($(this));
},
selector: '.CHILD'
});
स्रोत: hoverIntent Documentation
- 1. jQuery.on() कैसे काम करता है?
- 2. mouseenter/mouseleave घटनाओं jQuery.on
- 3. दोहराए जाने तत्वों
- 4. jQuery.one() और jQuery.on()
- 5. मॉड्यूल wsgi_module पहले ही लोड हो चुका है,
- 6. क्या jQuery.on() ईवेंट हैंडलर के निर्माण के बाद जोड़े गए तत्वों के लिए काम करता है?
- 7. क्या सेट हो जाने पर एसक्यूएलकेमी उत्सुक/लोड हो सकता है दबाया जा सकता है?
- 8. एक बार पृष्ठ लोड हो जाने के बाद jQuery स्लाइडडाउन कैसे करें
- 9. एक UIViewController पर वापस segue कैसे करें जो पहले ही लोड हो चुका है?
- 10. विधानसभाओं के आदेश को लोड किए जाने
- 11. लोड एक ही प्रक्रिया
- 12. ऐप_ऑफलाइन काम करने में असफल क्यों हो रहा है जैसे ही आप डीएलएस लोड करना शुरू कर देते हैं?
- 13. .coverage फ़ाइलें लोड हो
- 14. लोड हो रहा है डेटासेट
- 15. विम: पथोजेन लोड नहीं हो रहा है
- 16. लेज़ी लोड हो रहा है
- 17. जब iframe पुनः लोड हो रहा है?
- 18. कैसे जांचें कि रेल सत्र पहले ही लोड हो चुका है या नहीं?
- 19. लोड हो रहा है लेआउट
- 20. लोड हो रहा है ऑडियो सफारी
- 21. एक ही टेबलव्यू में दो सरणी कैसे लोड करें?
- 22. UIImagePickerControllerReferenceURL से UIImage लोड हो रहा है
- 23. जावास्क्रिप्ट - एम्बेडेड तत्वों के लिए लोड इवेंट
- 24. लोड हो रहा है freemarker टेम्पलेट्स .jar
- 25. लोड हो रहा है स्क्रिप्ट
- 26. लोड हो रहा है जावास्क्रिप्ट
- 27. लोड हो रहा है ExtJS
- 28. कताई व्हील एनीमेशन लोड हो रहा है
- 29. लोड हो रहा है स्ट्रिंग UIWebView
- 30. रनटाइम पर XAML लोड हो रहा है?
आप तक इंतजार करने की कोशिश कर रहे हैं; छवियों या jquery कार्यों को लोड किया? –
एक घटना के रूप में लागू किया गया एक होवरिंटेंट प्लगइन का उपयोग करें ताकि यह प्रतिनिधिमंडल का समर्थन कर सके .. '" होवरिंटेंट "एक घटना नहीं होनी चाहिए: X – Esailija
@barlas वास्तव में नहीं, नई सामग्री InfiniteScroll का उपयोग करके लोड की जाती है। –