2010-10-25 10 views
8

मैं इन-हाउस एप्लिकेशन के लिए jQuery UI का उपयोग कर रहा हूं।jQuery UI विजेट शैलियों को ओवरराइड करने और कार्यक्षमता को रखने के लिए


मैं किसी दिए गए विजेट इंस्टेंस पर jQuery UI द्वारा प्रदान की गई सभी स्टाइल जानकारी को हटाने का एक आसान तरीका ढूंढ रहा हूं। मैं वास्तव में कुछ भी करने के लिए खुला हूं, लेकिन एक पुन: प्रयोज्य जावास्क्रिप्ट समाधान सही होगा। यह बिल्कुल जरूरी है कि कोई कार्यक्षमता खो न जाए।

सबसे महत्वपूर्ण बात यह है कि सभी पृष्ठभूमि-छवियों को हटा दिया गया है, मैं लेआउट शैलियों को रखने के साथ ठीक हूं।

आदर्श कुछ की तरह ...

$tabs = $("#someElement").tabs(); 
$tabs.removeStyles(); 

लेकिन मैं जो कुछ भी मुझे एक लचीला तरीका में विजेट शैलियों को संशोधित करने की अनुमति देता है के लिए खुला रहा हूँ।

अंतिम लक्ष्य आप आसानी से अपने खुद की एक removeStyles समारोह बना सकते हैं के रूप में संभव

उत्तर

16

jquery-ui css ओवरराइड करने के लिए !important टैग का उपयोग करें।

.ui-dialog { 
    background-color: black !important; 
    } 
+0

+1: आईएमएचओ, और भले ही यह ओपी चाहता था (भले ही वे एक ही उपयोगकर्ता हैं?!?!), जेएस के साथ डरने के बिना शैलियों को प्रतिस्थापित करने का यह सबसे अविभाज्य तरीका है, जो खरगोश की ओर जाता है दर्द की योद्धा महत्वपूर्ण सीएसएस मूल्य अक्सर अनदेखा और अविश्वसनीय रूप से उपयोगी होता है। – tatlar

0

के रूप में ज्यादा नियंत्रण शैलियों की है।

$.fn.removeStyles = function(){ 
$(this).attr('class',''); 
}; 

यह आपके द्वारा चुने गए तत्व से सभी शैलियों को हटा देगा।

संपादित करें: यदि आप केवल उन वर्गों को हटाना चाहते हैं जो jquery ui बनाता है आपके पास सीमित विकल्प हैं। आप कक्षा विशेषता में कक्षाओं की तुलना आपके द्वारा टाइप की गई jquery-ui कक्षाओं की सूची में कर सकते हैं। कोई जादू बुलेट नहीं है जो स्वचालित रूप से jquery ui को हटा देगा।

+1

मैं सभी विजेट कक्षाओं को हटाने के साथ कार्यक्षमता को झुकाव के बारे में चिंतित हूं ... –

+0

इसके अलावा, यह उन वर्गों को हटा देगा जिन्हें मैं मैन्युअल रूप से उस मार्कअप में असाइन करता हूं जिसे मैं रखना चाहता हूं। –

0

आप केवल सीएसएस फ़ाइल को हटा सकते हैं और उस लेआउट के साथ पुनर्निर्माण शुरू कर सकते हैं जो आप चाहते हैं। यह बहुत काम है लेकिन यह कीमत है जो इसके साथ आता है ...

4

सीएसएस शैलियों/कक्षाओं को हटाने का आसान तरीका उपयोग करना है। removeClass()। उदाहरण के लिए, टैब के हर कोने को ओवरराइड और केवल शीर्ष कोनों के लिए, मैं इसे इस तरह का उपयोग करें:

$('#tabs').tabs().removeClass('ui-corner-all').addClass('ui-corner-top'); 

आशा इस मदद करता है!

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