2012-10-03 3 views
13

टूट यह एक सवाल है कि ग़लती से बंद हो गया की एक फिर से करते है: jQuery 1.8 outer Height/Width not workingjQuery 1.8.2 + noncurrent jQuery यूआई = outerWidth और outerHeight

मैं एक ही मुद्दा मार रहा हूँ। outerWidth और outerHeight और अब संख्याओं के बजाय jQuery ऑब्जेक्ट लौट रहे हैं।

हम 10 जनवरी, 2012 को जारी किए गए jQuery UI 1.8.17 का उपयोग कर रहे हैं। यह एक पुराना संस्करण नहीं है, इसलिए मुझे लगता है कि अन्य लोग इसे देखेंगे। हम कुछ भयानक jQuery ui प्लगइन्स के कारण इस संस्करण में लॉक हैं, इसलिए अपग्रेडिंग वर्तमान में एक विकल्प नहीं है।

यदि मुझे कोई समाधान मिल जाए तो मैं इस प्रश्न का उत्तर दूंगा।

यहाँ एक बेला समस्या http://jsfiddle.net/delvarworld/yxDHu/

अद्यतन (jQuery UI संस्करण "संसाधनों का प्रबंधन" में जोड़ा) का प्रदर्शन है:

return orig[ "outer" + name ].call(this, size); 

ग़लती से jQuery में इस हालत ट्रिगर कर रहा है: क्योंकि jQuery UI में इस लाइन यह है 1.8.2:

var chainable = arguments.length && (defaultExtra || typeof margin !== "boolean"), 

क्योंकि भले ही size अपरिभाषित है, जांचके लिए है। चेनबल यहाँ झूठा होना चाहिए। आप अनिर्धारित में गुजर सकते हैं और यह अभी भी किसी ऑब्जेक्ट को लंबाई 1 के साथ तर्क देगा। किसी को अपने जेएस पर पढ़ने की आवश्यकता है;)

+1

बग खोला: http://bugs.jquery.com/ticket/12647 –

+0

+1 सवाल को फिर से खोलने के लिए। http://api.jquery.com/outerHeight/ 'includeMargin' के अनुसार एक वैकल्पिक पैरामीटर है, लेकिन यदि सही/गलत पर सेट नहीं किया गया है तो यह अभी भी (jquery 1.8.3) तत्व देता है। – roberkules

उत्तर

8

एक सरल समाधान सिर्फ false

$(document.body).outerWidth(false); 

में गुजर जा करने के लिए या, सच अगर आप चाहते हैं लगता है मार्जिन, लेकिन अगर आप सच में गुजर रहे थे तो ऐसा लगता है कि आपके पास एन्को नहीं होगा इस बग को गिरा दिया।

+0

यह एक कच्चे समाधान की तरह लगता है।सच्चाई पहले से मौजूद नहीं होने पर मुझे झूठ बोलने के लिए हर एक jQueryUI प्लगइन में प्रत्येक बाहरी विड्थ/बाहरी हाइट कॉल को संशोधित करना होगा। असली समस्या यह है कि jQueryUI की ओवरराइड विधियों को अच्छी तरह से डिजाइन नहीं किया गया है (ओपी के संस्करण के रूप में)। इस प्रकार, उचित समाधान को jQuery तर्क के साथ jQueryUI के विस्तार को संशोधित करना चाहिए - इसके लक्षणों की बजाय समस्या को ठीक करें। – Tom

2

मैं आपके jQuery और jQuery UI दोनों पैकेजों को अपग्रेड करने का सुझाव देता हूं। 1.8.1 और 1.8.2 विशेष पते में बाहरी विड्थ/बाहरी हाइट से संबंधित मुद्दों, और पाठ्यक्रम के jQuery यूआई को सिंक में रखा जाना चाहिए।

संदर्भ के लिए घोषणाओं पर बदलाव देखें:

http://blog.jquery.com/

http://blog.jqueryui.com/

+0

प्रश्न के अनुसार अपग्रेड नहीं कर सकता है। चूंकि jquery को पीछे की तरफ संगत माना जाता है, यह एक मुद्दा है –

+0

यदि आप ब्लॉग पढ़ते हैं - jquery 1.8 में बाहरी विड्थ/बाहरी हाइट के साथ समस्याएं थीं। http://blog.jquery.com/2012/08/30/jquery-1-8-1-released/ jquery को स्वतः 1.8.2 में अपग्रेड करने का प्रयास करें और देखें कि क्या इससे मदद मिलती है। – Joshua

+0

हम 1.8.2 का उपयोग कर रहे हैं :(अद्यतन प्रश्न –

6

ऐसा लगता है कि यह jqueryUI मुद्दा है। लगता है कि 1.8.22 में तय किया जाना चाहिए।

With jquery UI 1.8.21:http://jsfiddle.net/yVq5H/13/

With jquery UI 1.8.22 (fixed):http://jsfiddle.net/yVq5H/14/

+1

मुझे jQuery 1.8.2 और jQuery UI 1.8.17 के साथ समस्या थी - जिसके कारण फाउंडेशन ऑर्बिट स्लाइडर स्लाइड नहीं हुआ। बाहरी विडियो() को तोड़ने के लिए मुझे थोड़ी देर लग गई - नवीनतम jQuery UI 1.10.0 में अपग्रेड इस समस्या को ठीक किया गया। – rkallensee

+0

सहमत हुए। Http://bugs.jquery.com/ticket/12293: "कृपया jqueryUI को 1.8.22 में अपग्रेड करें, क्योंकि यह वह है जो jQuery 1.8" –

+0

के साथ संगत है, मैं rkallensee से सहमत हूं - यह निदान करने के लिए एक बड़ा दर्द रहा है । – Tom

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