2010-09-16 15 views
6

मैं सभी फॉर्म तत्वों की शैली के लिए JQTransform का उपयोग कर रहा हूं। क्या JQTransform द्वारा स्टाइल किए गए सभी को छोड़कर, किसी विशिष्ट तत्व पर स्टाइल को अक्षम करना संभव है?JQTransform - स्टाइल से तत्व को बाहर निकालें?

उत्तर

9

मैंने कक्षा = अनदेखा के साथ किसी भी पाठ फ़ील्ड को अनदेखा करने के लिए प्लगइन के लाइन 99 में if($input.hasClass('ignore') == true) { return; } जोड़ा है। शायद यह आपकी मदद करेगा।

+1

धन्यवाद मैटबी। एक शानदार जोड़! :) – iltdev

3

मैं पुष्टि कर रहा हूं कि मैटबी के समाधान ने प्रश्न पोस्ट करने वाले सदस्य से प्रतिक्रिया के लियू में मेरे लिए काम किया है। के रूप में निर्देश दिए, मैं लाइन 99 पर कोड चिपकाया, निम्न पंक्ति ऊपर:

if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;} 

किसी को भी करने के लिए है कि यह करने के लिए स्पष्ट नहीं है, कोड ऊपर लाइन 99 के बजाय लाइन 99 की जगह के रूप में इस पेस्ट :

/*Custom code: Regarding class for elements exceptional to transformation.*/ 
/*Custom code: http://stackoverflow.com/questions/3727517/jqtransform-exclude-an-element-from-styling*/ 
if($input.hasClass('ignore') == true) { return; } 
if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;} 

मैं mattbee के जवाब पर टिप्पणी करने के लिए एक विकल्प तो मैं एक एक जवाब के रूप में यह सबमिट करने के बाद नहीं देखा।

संपादित करें: उपरोक्त कोड इनपुट तत्वों को छोड़ने/निकालने/अनदेखा/अनदेखा करने के लिए jqTransform को संकेत देगा। मेरे मामले में मैंने टाइप = "टेक्स्ट" और टाइप = "छवि" को बाहर करने के लिए इसका इस्तेमाल किया। हालांकि, मेरे textarea तत्व में .ignore क्लास को लागू करने से वास्तव में अवांछित परिवर्तन को छोड़ दिया गया लेकिन किसी कारण से मेरे चयन तत्वों के परिवर्तन को छोड़ दिया गया। कृपया ध्यान दें कि पाठ क्षेत्र के लिए jquery.jqtransfrom.js में संपादन उपरोक्त कोड ब्लॉक में लाइन 95 पर शुरू होने वाले टेक्स्ट फ़ील्ड के फ़ंक्शन के बजाय मूल unedited दस्तावेज़ के लाइन 201 से शुरू होने वाले टेक्स्टरेरा फ़ंक्शन के भीतर किया गया था।

if($textarea.hasClass('ignore') == true) { return; } 

, दोहराना यह काम किया, लेकिन यह भी मेरी चुनिंदा बक्से जो मेरा इरादा नहीं था के परिवर्तन बाहर रखा करने के लिए:

यहाँ मैं क्या करने का प्रयास किया, इसका एक उदाहरण ( लाइन 207 से ऊपर रखा)।

समाधान के लिए खोज करने के बाद मैं निम्न ब्लॉग पोस्ट भर में आया था: http://www.deliciouscoding.com/post.cfm?entry=use-jqtransform-and-tinymce-together

अनिवार्य रूप से, तालिका jqTransform पाठ क्षेत्र तत्वों को बदलने के लिए बनाता है एक पाठ क्षेत्र या अधिक सीधे शब्दों द्वारा बदल दिया जाता है, यह परिवर्तन नाश कर देती है:

<!--Undo textarea transformation.--> 
<!--Source: http://www.deliciouscoding.com/post.cfm?entry=use-jqtransform-and-tinymce-together.--> 
<script language="javascript"> 
jQuery(function(){ 
jQuery("form.transform table").replaceWith('<textarea></textarea>'); 
}); 
</script> 

jQuery के लिए नए लोगों के लिए, ऊपर कोड अपने दस्तावेज़ के शीर्ष (यानी <head> और </head> के बीच) के साथ में रखा जा रहा है।

1

या आप बस अपने इनपुट :)

3

वहाँ मेरे द्वारा बनाए गए नए पुस्तकालय है jqtranformdone वर्ग जोड़ सकते हैं - csTransPie - jqtransform पर आधारित - jqtransform एक महान पुस्तकालय है, लेकिन यह वास्तव में कई समस्याएं हैं, आज css3 उन समस्याओं के कई हल करती है और मैं सामान्य नियंत्रण किया जा रहा है नियंत्रण के विचार और हर ब्राउज़र में एक ही लग रही चाहते

https://github.com/pkoretic/csTransPie

यह कार्य प्रगति पर है, लेकिन अब भी यह के आधे से अधिक jqtransform की तुलना में बेहतर (अधिक है कोड फिर से लिखा, कई बग हल, स्वच्छ सीएसएस ...), आपको इसे स्वीकार करना होगा ...

बस उपयोग करें।तत्व पर पारदर्शी वर्ग आप चाहते हैं!

-1

मुझे पता है कि यह एक बहुत पुराना विषय है, लेकिन मुझे कहना है कि यदि आप अपने सामान्य रूप में अतिरिक्त कक्षा जोड़ते हैं तो यह अधिक उपयुक्त है, और इसे परिवर्तित नहीं किया जाएगा। इनपुट ग्रंथों और टेक्स्टरेरा के लिए 'jqtranformdone' वर्ग जोड़ें और यह बिना किसी परिवर्तन के वापस आ जाएगा। चेकबॉक्स के लिए, रेडियो बटन और चयन 'jqTransformHidden' वर्ग का उपयोग करते हैं।

0

यहाँ मेरी संस्करण (संस्करण 1.1 06.08.09) आदानों को छोड़ने के लिए: लाइन 497

$('input:submit:not(.hidden), input:reset:not(.hidden), input[type="button"]:not(.hidden)', this).jqTransInputButton(); 
    $('input:text:not(.hidden), input:password:not(.hidden), input[type="email"]:not(.hidden)', this).jqTransInputText(); 
    $('input:checkbox:not(.hidden)', this).jqTransCheckBox(); 
    $('input:radio:not(.hidden)', this).jqTransRadio(); 
    $('textarea:not(.hidden)', this).jqTransTextarea(); 
    $('select:not(.hidden)', this).jqTransSelect() 
4

में संपादित इस jquery.jqtransform.js में वर्ग jqtransformdone का प्रयोग करें। यह प्लगइन में बनाया गया है।

+1

काम करता है, लेकिन उसे पूंजी "टी" के साथ लिखा जाना चाहिए: 'jqTransformdone' – Rocco

0

आप बस तत्व में "jqtransformdone" वर्ग जोड़ सकते हैं, आप स्टाइल को छोड़ना चाहते हैं। आशा है, यह किसी और की मदद करेगा।

+0

यह पहले से ही कुछ अन्य उत्तरों में उल्लेख किया गया है। कृपया जांचें कि जो उत्तर आप प्रदान करना चाहते हैं वह उत्तर देने से पहले पहले से मौजूद नहीं है। – Ren

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