একটি সম্পূর্ণ YET সিম্পল সলিউশন
2020-05-14 আপডেট হয়েছে
(মোবাইল এবং ট্যাবলেটগুলির জন্য উন্নত ব্রাউজার সমর্থন)
নিম্নলিখিত কোডটি কাজ করবে:
- কী ইনপুটটিতে।
- আটকানো পাঠ্য সহ (ডান ক্লিক করুন & সিটিআরএল + ভি)।
- কাটা পাঠ্য সহ (ডান ক্লিক করুন & সিটিআরএল + এক্স)।
- প্রাক লোডযুক্ত পাঠ্য সহ।
- সমস্ত টেক্সারিয়ার সাথে (মাল্টলাইন পাঠ্যবক্স) সাইট প্রশস্ত।
- সঙ্গে ফায়ারফক্স (v31-67 পরীক্ষিত)।
- সঙ্গে ক্রোম (v37-74 পরীক্ষিত)।
- সঙ্গে ইন্টারনেট (V9-v11 পরীক্ষিত)।
- সঙ্গে এজ (v14-v18 পরীক্ষিত)।
- সঙ্গে চলচ্চিত্র IOS সাফারি ।
- সঙ্গে Android ব্রাউজার ।
- জাভাস্ক্রিপ্ট কঠোর মোড সহ ।
- কি W3C যাচাই।
- এবং প্রবাহিত এবং দক্ষ হয়।
বিকল্প 1 (jQuery সহ)
এই বিকল্পটির jQuery প্রয়োজন এবং এটি পরীক্ষা করা হয়েছে এবং 1.7.2 - 3.3.1 এর সাথে কাজ করছে
সরল (আপনার মাস্টার স্ক্রিপ্ট ফাইলে এই jquery কোডটি যুক্ত করুন এবং এটি ভুলে যান))
$('textarea').each(function () {
this.setAttribute('style', 'height:' + (this.scrollHeight) + 'px;overflow-y:hidden;');
}).on('input', function () {
this.style.height = 'auto';
this.style.height = (this.scrollHeight) + 'px';
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea placeholder="Type, paste, cut text here...">PRELOADED TEXT.
This javascript should now add better support for IOS browsers and Android browsers.</textarea>
<textarea placeholder="Type, paste, cut text here..."></textarea>
Test on jsfiddle
বিকল্প 2 (খাঁটি জাভাস্ক্রিপ্ট)
সরল (আপনার মাস্টার স্ক্রিপ্ট ফাইলে এই জাভাস্ক্রিপ্ট যুক্ত করুন এবং এটি ভুলে যান।)
const tx = document.getElementsByTagName('textarea');
for (let i = 0; i < tx.length; i++) {
tx[i].setAttribute('style', 'height:' + (tx[i].scrollHeight) + 'px;overflow-y:hidden;');
tx[i].addEventListener("input", OnInput, false);
}
function OnInput() {
this.style.height = 'auto';
this.style.height = (this.scrollHeight) + 'px';
}
<textarea placeholder="Type, paste, cut text here...">PRELOADED TEXT. This JavaScript should now add better support for IOS browsers and Android browsers.</textarea>
<textarea placeholder="Type, paste, cut text here..."></textarea>
Test on jsfiddle
বিকল্প 3 (jQuery এক্সটেনশন)
আপনি যদি স্বয়ংক্রিয় আকারের হতে চান এমন পাঠ্যগুলিতে আরও শৃঙ্খলা প্রয়োগ করতে চান তবে দরকারী Use
jQuery.fn.extend({
autoHeight: function () {
function autoHeight_(element) {
return jQuery(element)
.css({ 'height': 'auto', 'overflow-y': 'hidden' })
.height(element.scrollHeight);
}
return this.each(function() {
autoHeight_(this).on('input', function() {
autoHeight_(this);
});
});
}
});
সাথে দাওয়াত $('textarea').autoHeight()
টেক্সটরিয়ার মাধ্যমে জাভাস্ক্রিপ্ট আপডেট করা
জাভাস্ক্রিপ্টের মাধ্যমে টেক্সটরিয়ায় সামগ্রী ইনজেকশনের সময় বিকল্প 1 এ ফাংশনটি শুরু করতে নিম্নলিখিত কোড যুক্ত করুন।
$('textarea').trigger('input');
প্রিন্ট টেক্সটরিয়া উচ্চতা
টেক্সেরিয়ার প্রাথমিক উচ্চতা ঠিক করতে আপনাকে একটি অতিরিক্ত শর্ত যুক্ত করতে হবে:
const txHeight = 16;
const tx = document.getElementsByTagName("textarea");
for (let i = 0; i < tx.length; i++) {
if (tx[i].value == '') {
tx[i].setAttribute("style", "height:" + txHeight + "px;overflow-y:hidden;");
} else {
tx[i].setAttribute("style", "height:" + (tx[i].scrollHeight) + "px;overflow-y:hidden;");
}
tx[i].addEventListener("input", OnInput, false);
}
function OnInput(e) {
this.style.height = "auto";
this.style.height = (this.scrollHeight) + "px";
}
<textarea placeholder="Type, paste, cut text here...">PRELOADED TEXT. This JavaScript should now add better support for IOS browsers and Android browsers.</textarea>
<textarea placeholder="Type, paste, cut text here..."></textarea>