2009-09-25 21 views
6

का उपयोग करता है जब मेरे पास IE8 में एक मॉडल JQuery संवाद खुला होता है, तो मेरा CPU उपयोग 100% (नहीं, वास्तव में 50, लेकिन यह एक कोर का 100%) जाता है। यदि मैं डेवलपर टूल तोड़ता हूं, ऐसा लगता है कि यह कई आकार बदलने वाली घटनाओं को फायरिंग कर रहा है (मैं कोई भी असंतुलित आकार नहीं लेता)। क्या किसी और को इस मुद्दे का सामना करना पड़ा है और यह जानता है कि इसे कैसे ठीक किया जाए?JQuery UI मोडल संवाद 100% CPU

उत्तर

11

समाधान अपने सीएसएस फ़ाइल में जोड़ने के लिए है:

.ui-widget-overlay { 
    position: fixed; 
} 

reference

+0

मेरे अपने उत्तर को स्वीकार करने के लिए खेद है, लेकिन मुझे लगता है कि यह सबसे अच्छा समाधान है। आईई 6 द्वारा समर्थित नहीं है, लेकिन आईई 6 के पास प्रासंगिक jQuery कोड में एक अलग कोड पथ है (और मुझे नहीं पता कि कोई समस्या है या नहीं)। – erikkallen

+0

यह मेरे लिए तय है! JQuery 1.6 और JQuery UI 1.8.13 का उपयोग करना। मॉडल संवाद ने आईई 7 में 100% सीपीयू उपयोग का कारण बना दिया। यह 'मॉडल' व्यवहार में उपयोग किए जाने वाले ओवरले डीवी की ऊंचाई निर्धारित नहीं कर सका। इसे सीएसएस में जोड़कर मेरे मुद्दों को ठीक किया गया। धन्यवाद! – Sentient

+0

आईई 7 पर मेरे लिए फिक्स्ड। आप एक जीवन रक्षक है! – Nils

4

मैंने ऐसा कुछ देखा है जब कुछ 100% चौड़ाई और ऊंचाई पर एक कंटेनर भर रहा है, और उस कंटेनर में अतिप्रवाह है: ऑटो। जो इसे कंटेनर में फिट करने की कोशिश कर रहा है, लेकिन फिर कंटेनर स्क्रॉलबार को जोड़ता या हटा देता है। पता नहीं है कि यह आपकी स्थिति पर लागू है, लेकिन शायद कुछ ऐसा ही हो सकता है।

+0

कंटेनर भरने के साथ आपका क्या मतलब है? जब मैं संवाद पॉप अप करता हूं तो मेरे लिए दस्तावेज़ पर स्क्रॉलबार दिखाई देता है, इसलिए आप शायद कम से कम आंशिक रूप से सही हैं। हालांकि, शरीर चीजों से भरने के करीब भी नहीं है। – erikkallen

+0

मेरा मतलब है कि जब कोई आंतरिक तत्व एक मूल तत्व (या उससे थोड़ा बड़ा) होता है तो मूल तत्व होता है। यदि आप स्क्रॉलबार देख रहे हैं, तो ऐसा लगता है कि यह आपके साथ हो रहा है। आपको यह पता लगाना होगा कि कौन सा तत्व यह कर रहा है, और इसे स्टाइल करें ताकि यह मूल तत्व से छोटा हो। सीपीयू उपयोग बार-बार रीफ्लो के कारण होता है जो तब होता है जब स्क्रॉलबार जोड़े जाते हैं और बार-बार हटा दिए जाते हैं। आप बस शरीर को ओवरफ्लो पर सेट करने पर विचार कर सकते हैं: संवाद प्रकट होने पर छुपा हुआ, फिर बंद होने के बाद जो भी हो, उसे वापस ले जाएं। – lod3n

+0

धन्यवाद। यह समाधान काम करता है, लेकिन थोड़ा बहुत बोझिल है (घोंसला वाले संवाद सोचें)। यदि कोई बेहतर विचार के साथ आता है तो मैं इसे स्वीकार करूंगा। – erikkallen

1

मैं ने वही समस्या, IE प्रति सेकंड windowResize घटना कई बार फायरिंग की गई थी और ग्राहक सीपीयू बाहर maxing था। यहां विस्तृत फिक्स पूरी तरह से काम करता है: http://www.frebsite.nl/projects/windowresizefix/

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