মাইকেল এর উত্তর ভিত্তিক, আমি jQuery ব্যবহার করে এটির নিজস্ব সংস্করণ তৈরি করেছি। আমি মনে করি এটি এখানে বেশিরভাগ উত্তরের একটি ক্লিনার / সংক্ষিপ্ত সংস্করণ এবং মনে হয় এটি কাজটি সেরে ফেলেছে।
আমি এখানে বেশিরভাগ লোকের মতো একই কাজটি করছি ইনপুট পাঠ্যটি প্রস্থের মধ্যে লিখে স্প্যান ব্যবহার করে। তারপরে আমি প্রস্থ নির্ধারণ করছি যখন ক্রিয়াগুলি keyup
এবংblur
ডাকা হয় ।
এখানে একটি ওয়ার্কিং কোডেপেন । এই কোডেপেনটি দেখায় যে এটি একাধিক ইনপুট ক্ষেত্রগুলির সাথে কীভাবে ব্যবহার করা যেতে পারে।
এইচটিএমএল স্ট্রাকচার:
<input type="text" class="plain-field" placeholder="Full Name">
<span style="display: none;"></span>
JQuery:
function resizeInputs($text) {
var text = $text.val().replace(/\s+/g, ' '),
placeholder = $text.attr('placeholder'),
span = $text.next('span');
span.text(placeholder);
var width = span.width();
if(text !== '') {
span.text(text);
var width = span.width();
}
$text.css('width', width + 5);
};
উপরের ফাংশনটি ইনপুট মান পায়, অতিরিক্ত স্থান ছাঁটাই করে প্রস্থটি পেতে স্প্যানটিতে পাঠ্য সেট করে। যদি কোনও পাঠ্য না থাকে তবে এটি পরিবর্তে স্থানধারকটি পায় এবং পরিবর্তে স্প্যানটিতে প্রবেশ করে। একবার এটি স্প্যানটিতে পাঠ্য প্রবেশ করে তারপরে ইনপুটটির প্রস্থ নির্ধারণ করে। + 5
প্রস্থ উপর কারণ ছাড়া যে ইনপুট এজ ব্রাউজারে একটি অতি ক্ষুদ্র অংশ কেটে পরার।
$('.plain-field').each(function() {
var $text = $(this);
resizeInputs($text);
});
$('.plain-field').on('keyup blur', function() {
var $text = $(this);
resizeInputs($text);
});
$('.plain-field').on('blur', function() {
var $text = $(this).val().replace(/\s+/g, ' ');
$(this).val($text);
});
যদি এটির উন্নতি হতে পারে তবে দয়া করে আমাকে জানান কারণ এটিই আমার সবচেয়ে পরিষ্কার সমাধান come