2012-05-28 22 views
6

लोड होने के बाद पृष्ठ पर गतिशील रूप से एक छवि जोड़ना, उपयोगकर्ता इंटरैक्शन और उस छवि को पूरी तरह लोड होने के बाद फ़ंक्शन को फायर करने में समस्या हो रही है। मुझे लगा कि jQuery की .load() विधि का उपयोग ठीक होगा .. लेकिन मेरे कंसोल के अनुसार और .log व्यवसाय को दस्तावेज करने का एक गुच्छा यह कभी निष्पादित नहीं होता है। नीचे देखें .. धन्यवाद!jQuery छवि लोड कॉलबैक

$('body') 
    .append('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />') 
    .load(function(){ 
     console.log('ad load complete'); 
     $('#submit').click(); 
    }); 

अद्यतन:

स्पष्ट करने के लिए, यह दोनों document और window लोड के बाद है।

उत्तर

15

आपके कोड में .load() चेनिंग के कारण body से संबंधित है।

बदलें कोड के लिए:

var img = $('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />'); 
img.load(function(){ 
    console.log('ad load complete'); 
    $('#submit').click(); 
}); 

$('body').append(img); 

और यह काम करना चाहिए (http://jsfiddle.net/zerkms/f7epb/)

0

संलग्न समारोह युक्त तत्व है, एक है कि संलग्न की गई देता है, तो आप करने के लिए अपने समारोह बाध्यकारी हैं शरीर का भार और आईएमजी के लिए नहीं।

मैं appendTo उपयोग करने का सुझाव है, तो जैसे:

$('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />') 
.load(function(){ 
    console.log('ad load complete'); 
    $('#submit').click(); 
}) 
.appendTo($('body')); 
संबंधित मुद्दे