2009-10-19 19 views
16

के लिए खोज रहे हैं मैं उपयोगकर्ताओं के लिए एक आकार बदलने वाले textarea नियंत्रण प्रदान करना चाहता हूँ। मैंने इसे एक बार दिया है और कई अन्य कार्यान्वयनों को देखा है, लेकिन मुझे ऐसा लगता है कि मेरी सभी आवश्यकताओं को पूरा नहीं किया जा सकता है। विशेष रूप से मैं एक नियंत्रण चाहते हैं कि:परम आकार बदलने वाले Textarea

IE6, IE7, IE8 में
  • वर्क्स Windows और Firefox 3 और 3.5 विंडोज पर और ओएस एक्स पर जब पेज मानकों में शिकायत मोड प्रदान की गई है (अर्थात quirks मोड में नहीं)।
  • पूर्ववत बफर/पूर्ववत स्टैक को गड़बड़ नहीं करता है। यह आईई के साथ एक विशेष रूप से बुरा मुद्दा है - नोड्स जोड़ने, नोड्स को हटाने और कुछ अन्य डीओएम ऑपरेशंस इनपुट बफर को रीसेट कर देंगे, जिसका अर्थ यह है कि यदि कोई कार्यान्वयन इन तकनीकों पर निर्भर करता है तो एक मानक टेक्स्टरेरा नियंत्रण में ऐसा पूर्ववत नहीं होगा। मैं this note को छोड़कर इस बग के बारे में अधिक जानकारी नहीं पा रहा हूं। JQuery Auto Growing Plugin जैसे कार्यान्वयन इस समस्या से ग्रस्त हैं - IE में परिवर्तन पूर्ववत करने का प्रयास करें और तुलना करें कि यह मानक टेक्स्टरेरा में कैसे काम करता है। मैंने JS12in में यह समस्या प्रदर्शित करने के लिए example page जोड़ा है।
  • अधिकतम ऊंचाई है जिसके ऊपर नियंत्रण बढ़ नहीं सकता है।
  • सामग्री हटा दिए जाने पर उचित रूप से हटती है।
  • फिसलने या कुंजीपटल पर अजीब तरीके से कार्य नहीं करता है। जैसे jQuery ऑटो बढ़ते Textarea नियंत्रण कम से कम IE7 के साथ अजीब व्यवहार करता है, जब नियंत्रण इसके प्रारंभिक आकार से अधिक हो गया है।
  • किसी निश्चित-चौड़ाई/मोनोस्पेस फ़ॉन्ट का उपयोग करने के लिए नियंत्रण की आवश्यकता नहीं है।
निकटतम मैं कुछ है कि इस तरह से काम करता है के लिए देखा है

फेसबुक के स्टेटस अपडेट क्षेत्र है, जो एक सामग्री संपादन योग्य div तत्व के रूप में कार्यान्वित किया जाता है, लेकिन मैं इस तरह के एक तत्व का उपयोग क्योंकि एक div का उपयोग कर का मतलब है के बारे में कुछ आरक्षण है:

  • स्पष्ट रूप से सीमा को शैलीबद्ध करने की आवश्यकता है जिसका अर्थ है कि हम एक सीमा के साथ समाप्त हो सकते हैं जो मूल पाठ के लिए अलग दिखता है।
  • वास्तविक textarea (संभवतः दोनों दिशाओं में) के साथ सामग्री सिंक करने की आवश्यकता है?
  • टेक्स्टटेरा की स्थिति से संबंधित संकेतों और अन्य तत्वों को रखकर जटिलता जोड़ता है।
  • हालांकि यह दृष्टिकोण फेसबुक स्टेटस अपडेट की तरह कुछ के लिए काम करता है, यह एक रूप में कितनी अच्छी तरह से काम करेगा जिसमें सैकड़ों मानक इनपुट तत्व हैं?

जो मैंने ऊपर सेट किया है, वह "अंतिम आकार बदलने वाला टेक्स्टरिया" का प्रतिनिधित्व करता है - जो मुझे मौजूदा दृष्टिकोणों के साथ मुद्दों के बारे में पता चलता है। क्या ऐसा नियंत्रण मौजूद है? क्या ऐसा नियंत्रण लिखना संभव है?

+1

"यह एक रूप में कितनी अच्छी तरह से काम करेगा जिसमें सैकड़ों मानक इनपुट तत्व हैं?" क्या इन यूबर टेक्स्टरेस का एक ही पृष्ठ पर उपयोग किया जाएगा? – Tom

+0

संभावित रूप से, हां। फेसबुक (या यहां तक ​​कि Google डॉक्स) के साथ बात यह है कि उन्हें केवल एक ही सामग्री से निपटने की ज़रूरत है, एक पृष्ठ पर उचित तत्व, जो स्पष्ट रूप से 20+ से निपटने से बहुत आसान है। –

उत्तर

6

चेक बाहर DOJO tools text area control

(प्रपत्र के अंत में पाठ क्षेत्र) इस demo page पर और अधिक देखने

यह बारीकी से अपनी आवश्यकताओं के लिए आते हैं।

+0

अजीब - डेमो पृष्ठ में आईई में पूर्ववत स्टैक के साथ कोई समस्या नहीं प्रतीत होती है, लेकिन प्रारंभिक लिंक से उदाहरण की प्रतिलिपि बनाता है। –

2

आप प्रदर्शन को स्वतः आकार देना चाहते हैं? लेकिन सामग्री को वही छोड़ दें?

है यही कारण है कि सभी स्क्रिप्ट, ऐसा प्रदर्शन को समायोजित, और आप अपने खुद के पाठ की अधिक देखने दे सकते हैं ...

+0

हां, मुझे एक टेक्स्टरेरा चाहिए जो ऊपर दिए गए मानदंडों के आधार पर सामग्री का आकार बदलती है। –

+2

अरे, यह मांग कर रहा है: पी –

3

आप उन आवश्यकताओं को पूरा करने के लिए अपने खुद के रोल करना पड़ सकता है।

ये एक शुरुआत हो सकती है।

http://tuckey.org/textareasizer/ (यद्यपि कोशिश करते हैं और तुम्हारा में eval() से बचने)

http://www.felgall.com/jstip45.htm

http://viralpatel.net/blogs/2009/06/textarea-resize-javascript-jquery-plugin-resize-textarea-html.html

यह वास्तव में एक अच्छा jQuery प्लगइन की तरह लगता है। मुझे इस तरह कुछ विकसित करने का सामना करना पड़ सकता है। अगर मैं इसे पूरा करता हूं, तो मैं इसे यहां पोस्ट करूंगा।

मैंने कुछ घंटे विकसित करने में कुछ घंटे बिताए, लेकिन फिर मुझे यह वास्तव में अच्छा लगता है।

http://www.aclevercookie.com/demos/autogrow_textarea.html

+0

वायरलपेटेल का समाधान बताता है कि मुझे रुचि रखने वाले व्यक्ति से थोड़ा अलग नियंत्रण कैसे बनाया जाए। –

+0

सामग्री हटा दिए जाने पर स्टीफन चैपलैन का समाधान कम नहीं होता है। –

+0

फ़ायरफ़ॉक्स का उपयोग करते समय टेक्स्ट एरिया रेजिज़र में समस्याएं कम हो रही हैं। –

0
+0

साइटपॉइंट आलेख (3 भागों में से एक) तकनीक के बारे में कुछ उपयोगी अवलोकन करता है, लेकिन यह आईई में पूर्ववत स्टैक को नष्ट कर देता है क्योंकि समाधान डीओएम में हेरफेर करता है। –

+0

वायरलपेटेल का समाधान बताता है कि मुझे रुचि रखने वाले व्यक्ति से थोड़ा अलग नियंत्रण कैसे बनाया जाए। –

+0

स्मार्ट एरिया में विशेष रूप से इंटरनेट एक्सप्लोरर में समस्याएं घट रही हैं। –

0

मैं nicEdit का उपयोग कर रहा हूं। ऐसा लगता है कि आपको जो कुछ चाहिए वह है और स्क्रिप्ट केवल एमआईटी लाइसेंस के साथ 1700 लाइनें है ताकि आप अपनी जरूरतों को पूरा कर सकें।

+0

nicEdit सामग्री पर निर्भर करता है उपयुक्त तकनीक जिसे मैं टालने की कोशिश कर रहा हूं, हालांकि शायद इस तकनीक के बारे में मेरे आरक्षण अनचाहे हैं। –

2

This A List Apart post में एक कार्यान्वयन है जो आपके मानदंडों को पूरा करने के बहुत करीब दिखता है और इसमें क्या हो रहा है इसका एक अच्छा स्पष्टीकरण शामिल है।

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