संक्षेप में, मुझे HTML को इंजेक्शन देने के बाद कॉलबैक आग लगाना चाहिए और उस HTML की सामग्री ने प्रस्तुत किया है। मुझे तुरंत नई सामग्री की ऊंचाई जानने की आवश्यकता है। कुछ इस तरह:।jQuery.html (कुछ) पता लगाता है कि इंजेक्शन पूरा होने पर
$('div').html(tonsofstuff);
console.log($('div').height()); //works in Firefox, but returns 0 in Chrome
setTimeout(function(){
console.log($('div').height()); //works everywhere, but takes too long
},3000);
मुद्दा कुछ ब्राउज़रों में कभी कभी है (और हमेशा क्रोम में) $ ('div') ऊंचाई() आग से पहले नई सामग्री ऊंचाई है।
मेरे कल्पना:
var height = $('div').html(tonsofstuff).height();
मैं इसे प्रस्तुत करने के लिए के लिए इंतज़ार कर के साथ कोई समस्या नहीं था:
$('div').html(tonsofstuff, function(){
console.log($('div').height());
});
or even
$('div').html(tonsofstuff).load(function(){
console.log($('div').height());
});
यह एसिंक्रोनस चीजों के साथ समस्या हो सकती है जैसे कि बाहरी विंडो में पहुंचने वाले आईफ़्रेम – Raynos
मेरे उद्देश्यों के लिए सही काम करते हैं। धन्यवाद। – Fresheyeball