क्या टेक्स्ट फ़ील्ड के लिए एक jQuery autogrow प्लगइन है? Hi Wab
जावास्क्रिप्ट स्क्रिप्टिंग jquery
मैं कैसे देखूं कि मेरे proc में कौन से आउटपुट विकल्प उपलब्ध हैं? क्यों numpy के einsum तेजी से numpy के कार्यों में बनाया गया है? जावास्क्रिप्ट के साथ एचटीएमएल फार्म इनपुट टैग नाम तत्व एआरएआर एनएलटीके के साथ एक नया कॉर्पस बनाना बाश में दो सूचियों का चौराहे Git रीसेट – हार्ड से पुनर्प्राप्त करें? वेक्टर के लिए वैकल्पिक <bool> क्यों एक साधारण 1L के बजाय लंबे धारावाहिकVersionUID पैदा करते हैं? डॉट्स के साथ डेटाटाले कॉलम नाम के बारे में क्या है जो उन्हें WPF के डेटाग्रिड नियंत्रण के लिए अनुपयुक्त बना देता है? अजगर के माध्यम से कनेक्ट करते समय मैं डिफ़ॉल्ट MySQL कनेक्शन टाइमआउट कैसे बदल सकता हूँ? स्टार्टअप पर ग्रहण क्रैश; निकास कोड = 13 IOS पर सीएसएस ओवरफ्लो के साथ स्क्रॉल बार कैसे प्राप्त करें इकाई फ्रेमवर्क आदेश शामिल करें यादृच्छिक डुप्लिकेट डेटा उत्पन्न करता है PhpMyAdmin में UTF-8 वर्ण कैसे प्रदर्शित करें? iphone / ipad अभिविन्यास हैंडलिंग
मेरे पास एक टेक्स्टरेआ को सक्रिय करने के लिए कई प्लग-इन मिले हैं, लेकिन इन इनपुट टेक्स्ट फ़ील्ड नहीं हैं क्या कोई जानता है कि क्या कोई मौजूद है?
वेब के समाधान से एकत्रित समाधान "क्या टेक्स्ट फ़ील्ड के लिए एक jQuery autogrow प्लगइन है?"
उद्धरण और तारांकन के साथ स्ट्रिंग के रूप में संग्रहीत एक बेस कमांड को कैसे निष्पादित करें
यहां एक ऐसा प्लगइन है जो आप के बाद कर रहे हैं:
संपादित करें : मैथियास की टिप्पणी के अनुसार मैंने प्लगइन को तय किया है I 🙂
यहां एक डेमो देखें: http://jsfiddle.net/rRHzY
(function($){ $.fn.autoGrowInput = function(o) { o = $.extend({ maxWidth: 1000, minWidth: 0, comfortZone: 70 }, o); this.filter(&apos;input:text&apos;).each(function(){ var minWidth = o.minWidth || $(this).width(), val = &apos;&apos;, input = $(this), testSubject = $(&apos;<tester/>&apos;).css({ position: &apos;absolute&apos;, top: -9999, left: -9999, width: &apos;auto&apos;, fontSize: input.css(&apos;fontSize&apos;), fontFamily: input.css(&apos;fontFamily&apos;), fontWeight: input.css(&apos;fontWeight&apos;), letterSpacing: input.css(&apos;letterSpacing&apos;), whiteSpace: &apos;nowrap&apos; }), check = function() { if (val === (val = input.val())) {return;} // Enter new content into testSubject var escaped = val.replace(/&/g, &apos;&amp;&apos;).replace(/\s/g,&apos;&nbsp;&apos;).replace(/</g, &apos;&lt;&apos;).replace(/>/g, &apos;&gt;&apos;); testSubject.html(escaped); // Calculate new width + whether to change var testerWidth = testSubject.width(), newWidth = (testerWidth + o.comfortZone) >= minWidth ? testerWidth + o.comfortZone : minWidth, currentWidth = input.width(), isValidWidthChange = (newWidth < currentWidth && newWidth >= minWidth) || (newWidth > minWidth && newWidth < o.maxWidth); // Animate width if (isValidWidthChange) { input.width(newWidth); } }; testSubject.insertAfter(input); $(this).bind(&apos;keyup keydown blur update&apos;, check); }); return this; }; })(jQuery);
यह जेम्स के जवाब के समान दृष्टिकोण का उपयोग करता है लेकिन टिप्पणियों में उल्लिखित कुछ परिवर्तनों का उल्लेख है।
आप यहाँ एक लाइव उदाहरण देख सकते हैं: http://jsfiddle.net/mJMpw/6/
अच्छा प्लगइन, धन्यवाद! मैंने दो चीजें बदल दीं जो मेरी परियोजना में हालांकि बेहतर काम करने लगती हैं।
मैंने टेस्टर टैग को डीआईवी में बदल दिया है, &apos;अप्रत्याशित कॉल विधि या गुण पहुंच&apos; से बचने के लिए। IE8 में (हालांकि आपका डेमो IE8 में काम करता है। क्या कस्टम HTML टैग का उपयोग करने के लिए कोई विशेष कारण था?
कोड के अंत के निकट बांड स्टेटमेंट के बाद, मैं चेक करने के लिए कॉल () को जोड़ता हूं, ताकि पेज लोड करने के तुरंत बाद टेक्स्ट बॉक्स का आकार बदल सके, अगर पाठ बॉक्स में स्टार्टअप पर पहले से ही इसमें कोई सामग्री है
सिर्फ जेम्स के महान प्लगइन में एक छोटा सा सुधार साझा करना चाहता था। इस कोड को टेस्टेर तत्व के सीएसएस घोषणापत्र में पाठ इंडेंट के लिए खाते में जोड़ें:
इसके बिना, कुछ स्थितियों में, परीक्षक तत्व अनजाने में पाठ-इंडेंट को अन्यत्र से प्राप्त कर सकता है, इस प्रकार इनपुट का आकार बंद कर देता है
जेपी की तरह, मैं भी शुरुआत से सही आकार में इनपुट का आकार बदलना चाहता था, जो कि मैंने "टूगर (&apos;कुंजीप&apos;)" ऑटोग्राइनपूट विधि कॉल में "से चेन करके, थोड़ा अलग तरीके से किया, जैसे:
$(&apos;#contact_form&apos;).autoGrowInput({comfortZone: 7, minWidth: 10, maxWidth: 200}).trigger(&apos;keyup&apos;);
एक तरफ ध्यान दें के रूप में, मैं इस साइट पर हस्ताक्षर के लिए पूरी तरह से जेम्स के समाधान पर टिप्पणी करने के लिए साइन अप किया और मुझे यह पता लगाना थोड़ा परेशान है कि मैं नहीं कर सकता क्योंकि मेरे पास पर्याप्त प्रतिष्ठा अंक नहीं है। यदि मुझे कुछ याद आ गया है, तो क्षमा करें, लेकिन इसका अर्थ यह है कि मुझे यह पोस्ट करना है, यह जेम्स के समाधान पर अधिक उचित ढंग से नहीं बल्कि मुख्य प्रश्न पर एक टिप्पणी है।
मैं भी बदल दिया था
$(this).bind(&apos;keyup keydown blur update&apos;, check)
$(this).bind(&apos;keyup blur update&apos;, check).bind(&apos;keydown&apos;, function() { setTimeout(check); });
ब्राउज़र द्वारा पुनः प्रर्दशित किए जाने के ठीक बाद फ़ील्ड का आकार बदलने के लिए यह कुछ बकबक से मैदान से छुटकारा दिलाता था।
मैंने टाइप टेक्स्ट के इनपुट के लिए एक प्लगिन बनाया है, जो इस व्यवहार को पुनः बनाता है इसमें कुछ अन्य अनूठी विशेषताओं हैं आप एक उदाहरण देख सकते हैं और प्लगइन के दस्तावेज़ीकरण देख सकते हैं। @ जेम्स के उत्तर में बड़े टेक्स्ट को इनपुट में चिपकाने के साथ कुछ समस्याएं हैं इसे ठीक करने के लिए, मैंने अपने कोड में कुछ बदलाव किए हैं। यहां एक उदाहरण है, इस उदाहरण के लिए।
(function($){ $.fn.autoGrowInput = function(o) { o = $.extend({ maxWidth: 200, minWidth: 1, comfortZone: 1, width: 1 }, o); this.filter(&apos;input:text&apos;).each(function(){ var minWidth = o.minWidth || $(this).width(), maxWidth = o.maxWidth, val = &apos;&apos;, input = $(this), testSubject = $(&apos;<tester/>&apos;).css({ position: &apos;absolute&apos;, top: -9999, left: -9999, width: &apos;auto&apos;, fontSize: input.css(&apos;fontSize&apos;), fontFamily: input.css(&apos;fontFamily&apos;), fontWeight: input.css(&apos;fontWeight&apos;), letterSpacing: input.css(&apos;letterSpacing&apos;), whiteSpace: &apos;nowrap&apos; }), check = function() { if (val === (val = input.val())) {return;} // Enter new content into testSubject var escaped = val.replace(/&/g, &apos;&amp;&apos;).replace(/\s/g,&apos;&nbsp;&apos;).replace(/</g, &apos;&lt;&apos;).replace(/>/g, &apos;&gt;&apos;); testSubject.html(escaped); // Calculate new width + whether to change var testerWidth = testSubject.width(), newWidth = testerWidth + o.comfortZone, currentWidth = input.width(); if (testerWidth < minWidth) { newWidth = minWidth; } else if (testerWidth > maxWidth) { newWidth = maxWidth; } input.width(newWidth + o.comfortZone); }; testSubject.insertAfter(input); $(this).bind(&apos;input&apos;, check); }); return this; }; })(jQuery);
यदि आप पाठ बॉक्स बढ़ाना चाहते हैं, जब उसमें की स्ट्रिंग इसकी चौड़ाई के ऊपर विस्तार करती है, तो ऐसा कुछ आपके लिए काम करेगा … यह पाठ बॉक्स का आकार विशेषता का पता लगाता है। अगर स्ट्रिंग की लंबाई उस विशेषता पर जाती है, तो यह पाठ बॉक्स को कीज पर स्ट्रिंग की लंबाई तक बढ़ाता है।
नीचे की स्क्रिप्ट में, "# टेस्ट" एक टेक्स्टबॉक्स आईडी है
<script language="javascript" type="text/javascript"> $(document).ready(function(){ $("#test").keyup(function(){ if($("#test").attr("size") < $("#test").val().length){ size = $("#test").val().length; $("#test").attr("size",size); } }) }); </script>
IE ओवरफ़्लो में काफी मजेदार है: दृश्यमान बहुत गंभीरता से लिया जाता है आप अतिप्रवाह लागू करके इस आशय को प्राप्त कर सकते हैं: आपके इनपुट तत्वों पर दृश्यमान सुनिश्चित नहीं हैं कि आधुनिक ब्राउज़रों के लिए कोई भी सीएसएस चालें मौजूद हैं।
Awsome प्लगइन जेम्स! धन्यवाद। मैंने अंत में चेक सुझाव को जेपी द्वारा हालांकि बहुत प्रभावी बनाया था
इसके अलावा मैंने अपने हिस्से में कुछ बदलाव जोड़े। यदि अधिकतम चौड़ाई में अधिकतम आकार को इनपुट के लिए आकार सेट करना चाहते थे तो मैंने जोड़ा:
अगर नीचे है तो जांच के लिए isValidWidthChange जहां widthexceeds = newWidth > o.maxWidth
सी # अर्रे में निकटतम संख्या ढूँढना
Android पर MapActivity वर्ग को हल नहीं किया जा सकता
सीडी में ऑब्जेक्ट के लिए XML को डीसरिलाइज़ करना
उल्का सदस्यता संग्रह के क्रमबद्ध क्रम को अपडेट नहीं करता है
* उस पर * प्रस्तुत करने का प्रयास करें, जिसका दृश्य विंडो पदानुक्रम में नहीं है