2010-10-01 8 views
6

कंटेंटएडेबल डिव में टेक्स्ट का टेक्स्ट रंग बदलना आसान है - टेक्स्ट रंग को सफेद रंग बदलने के लिए बस document.execCommand("foreColor",false,"#FFF") कहा जाता है।फोरकोलर के बाद संगत रीसेट टेक्स्ट रंग का उपयोग अन्य शैलियों को रीसेट किए बिना किया गया है

हालांकि, मुझे इस रंग को अपने डिफ़ॉल्ट मान (या मूल तत्व के मूल्य पर) रीसेट करने का कोई तरीका नहीं मिल रहा है। document.execCommand("removeFormat",false,null) पूरी तरह से काम करता है, सिवाय इसके कि यह किसी भी बोल्ड या इटालिक शैलियों को भी हटा देगा, जो मैं नहीं चाहता हूं। यदि आपके पास चयन में कोई लिंक है (जो एक ही रंग में रहना चाहिए) के अलावा, बस काले रंगों में रंग सेट करना।

क्या यह संभव है?

उत्तर

14

मैं निम्नलिखित के साथ सफलता हो रही है।

+0

वाह, मुझे इसके बारे में पता नहीं था। यह कौन सा ब्राउज़र काम करता है? –

+0

मैंने इसे इंटरनेट एक्सप्लोरर 7-9, क्रोम और फ़ायरफ़ॉक्स पर अपेक्षित काम किया है। अफसोस की बात है कि मेरी मशीन को सफारी और ओपेरा के साथ देर से परेशानी हुई है, इसलिए मैं उन प्लेटफॉर्म पर इसे सत्यापित करने में सक्षम नहीं हूं। –

+0

यदि आप इसे jsfiddle में फेंक देते हैं, तो मुझे ओपेरा और सफारी पर इसका परीक्षण करने में खुशी होगी। – undefined

6

यहाँ एक आंशिक जवाब है, लेकिन मैं अभी भी क्रोम के लिए एक समाधान के लिए देख रहा हूँ:

IE9 में, आपको निम्न का उपयोग कर सकते हैं:

document.execCommand("foreColor",false,"") 

Firefox में, आप इस का उपयोग कर सकते हैं:

document.execCommand("foreColor",false,"inherit") 

लेकिन क्रोम में, शून्य/खाली स्ट्रिंग पास करने से 'आरजीबीए (0, 0, 0, 0) "पाठ रंग को सेट करने में' उत्तराधिकारी 'परिणाम गुजरने के दौरान कुछ भी नहीं होता है - पारदर्शी काला। स्पष्ट रूप से यह एक बग है। मुझे ऐसा करने के लिए एक और अधिक विश्वसनीय क्रॉस-ब्राउज़र तरीका देखना अच्छा लगेगा।

document.execCommand("removeFormat", false, "foreColor"); 

लगता है (अभी तक) कि removeFormat एक विशेष आदेश द्वारा ही बनाए गए प्रारूपण निकालें को समझा जा सकता है:

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