2010-08-27 26 views
35

पर काम नहीं कर रहा है मेरे पास कुछ कोड है जो मेरी छवि लोड होने के बाद चलाने की कोशिश कर रहा है। मैं इस निम्नलिखित jQuery कोड का उपयोग करता हूं:jQuery .load() मेरी छवि

$("#myimageid").load(function() { 
    alert('Image Loaded'); 
}); 

हालांकि पॉपअप कभी दिखाई नहीं देता है। मैं काम करने के लिए .load() फ़ंक्शन नहीं प्राप्त कर सकता! किसी के साथ इस मुद्दे में कोई समस्या थी?

+0

कहाँ वास्तव में आपको लगता है कि कोड रखा है का उत्पादन करेगा? – Pointy

उत्तर

87

आप चला रहे हैं इस के बाद छवि पहले से ही एक सेट स्रोत है, आप कैश छवियों के लिए एक अतिरिक्त जांच की (जो घटना निकाल दिया, बस से पहले आप इसके लिए सुन एक ईवेंट हैंडलर जोड़ा) की ज़रूरत है।

$("#myimageid").on('load', function() { 
    alert('Image Loaded'); 
}).each(function() { 
    if(this.complete) $(this).load(); 
}); 

क्वेरी, उपयोग के बाद के संस्करणों के लिए अद्यतन:: आप है कि इस तरह से कर सकते हैं

if(this.complete) $(this).trigger('load'); 

(this).load(); का उपयोग करते हुए एक Cannot read property 'indexOf' of undefined त्रुटि

+0

यह काम किया! धन्यवाद दोस्त $ (दस्तावेज़) .ready (function() { $ ("# googleimage") लोड (फ़ंक्शन() { अलर्ट ('छवि लोड'); }) प्रत्येक (फ़ंक्शन() {if (this.complete) $ (यह) .load();}); }); –

+1

अच्छा, यह खोजना इतना मुश्किल क्यों था! –

+0

बस काम करने के समाधान के लिए डाउनवोट नहीं जा रहा था जब मुझे एहसास हुआ कि मेरी कक्षा का चयन करते समय मुझे एक बिंदु याद आ रही थी। ओह! धन्यवाद और उग्र! –

0

क्या होता है जब आप अपने ब्राउज़र के कैश को साफ़ करते हैं और फिर स्क्रिप्ट को आजमाते हैं? jQuery load()docs से:

यह संभव है कि लोड घटना यदि छवि ब्राउज़र कैश से भरी हुई है ट्रिगर नहीं किया जाएगा। इस संभावना के लिए खाता, हम एक विशेष लोड इवेंट का उपयोग कर सकते हैं जो छवि तैयार होने पर तत्काल को आग लगती है। event.special.load वर्तमान में एक प्लगइन

सामान्य में के रूप में उपलब्ध है, यह प्रतीक्षा करने के लिए आवश्यक सभी छवियों को पूरी तरह से भरी हुई होने के लिए नहीं है। यदि कोड पहले निष्पादित किया जा सकता है, तो यह आमतौर पर को हैडलर में भेज दिया जाता है। ( विधि।

तो ऐसा लगता है कि आपकी कैश की गई छवि लोड ईवेंट को ट्रिगर नहीं कर रही है, इसलिए आप प्लग-इन का उल्लेख कर सकते हैं। आप here डाउनलोड करने के लिए जेएस फ़ाइल पा सकते हैं।

आशा है कि इससे मदद मिलती है!

संबंधित मुद्दे