2012-12-08 19 views
6

मैन मेरे पास contentEditable की विशेषता के साथ एक div है!सामग्री योग्य div में तत्वों को कैसे अक्षम करें?

मैंने इसे बनाया क्योंकि मैं चाहता था कि यह एक टेक्स्टरीए जैसा कार्य करे जो इसकी ऊंचाई के अनुसार अपनी ऊंचाई बदलता है! काम करता है बिल्कुल सही

लेकिन जब मैं बजाय एक हाइपरलिंक कॉपी और सादा पाठ यह एंकर तत्व है ... दूसरे के साथ एक ही जा रहा है की मेरी div में पेस्ट अगर मैं किसी भी वेबसाइट के कुछ हिस्से का चयन करें और है कि contenteditable div में पेस्ट यह सभी एचटीएमएल दिखाता है। मैं चाहता हूं कि div केवल सादा पाठ दिखाए और इसमें सभी तत्वों को अक्षम कर दे!

कार्य फिडल: http://jsfiddle.net/4ctVx/

बस इसे में किसी भी HTML कॉपी और यह भी कि HTML के साथ youdiv दिखाएगा। मैं चाहता हूं कि इसे अक्षम किया जाए और div को केवल सादा पाठ दिखाने के लिए!

+0

बस किसी और को स्पष्ट करने के लिए, यदि आप छवियों के साथ Richtext कॉपी और क्या नहीं है और यह div में पेस्ट, तो यह आपको प्रदान की गई एचटीएमएल पता चलता है। – gideon

+0

एक्वीब, आप टेक्स्टबॉक्स का उपयोग क्यों नहीं करते? – gideon

+0

वहाँ कई प्लगइन हैं जिनका उपयोग आप टेक्स्टरेरा ऊंचाई गतिशील – charlietfl

उत्तर

3

यदि आप संपादन योग्य सामग्री div में कोई ईवेंट श्रोता जोड़ते हैं, तो आप PlainText के साथ RichText को प्रतिस्थापित करने के लिए jQuery का उपयोग कर सकते हैं। मैंने इवेंट श्रोता को balupton से यहां छीन लिया: https://stackoverflow.com/a/6263537/1887483

$('[contenteditable]').live('focus', function() { 
    var $this = $(this); 
    $this.data('before', $this.html()); 
    return $this; 
}).live('blur keyup paste', function() { 
    var $this = $(this); 
    if ($this.data('before') !== $this.html()) { 
     $this.data('before', $this.html()); 
     $this.trigger('change'); 
    } 
    return $this; 
}); 
//use this jQuery snippet to swap HTML for Text. 
$('.editableContent').live('change', function() { 
    $(this).html($(this).text()); 
    alert('changed'); 
});​ 
+0

पर उपयोग करने के लिए सीमित करता है, लेकिन यह उसकी कामकाजी है! क्या आपके पास इसके लिए कोई फिक्स है? –

+0

मेरा उत्तर "सिद्धांत रूप में अधिक है, यदि आप प्रतिबंधित करना चाहते हैं कि कोई सामग्री-संपादन योग्य बॉक्स स्वीकार कर सकता है, तो आप यही उपयोग करेंगे।" अभिषेक 77in द्वारा नीचे दिया गया उत्तर इस मुद्दे को हल करने का सही तरीका है। अधिक निर्बाध विकल्प के लिए, मुझे इस jQuery autogrow प्लगइन की अनुशंसा करने दें: https://github.com/ultimatedelman/autogrow –

+0

कमाल! आदमी यह प्लगइन सभी पाठों के साथ संगत है अल्लाह के लिए धन्यवाद और आपको सलाम करता है कि आपको मेरी मदद करने के लिए चुना गया था! :) –

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