gpt4 book ai didi

javascript - 是否有用于文本字段的 jQuery 自动增长插件?

转载 作者:IT王子 更新时间:2023-10-29 02:51:56 24 4
gpt4 key购买 nike

我找到了各种用于自动生成 textarea 的插件,但不是输入文本字段。有人知道是否存在吗?

最佳答案

这是一个插件,可以满足您的需求:

编辑:我已经根据 Mathias 的评论修复了插件。 :)

在此处查看演示: http://jsfiddle.net/rRHzY

插件:

(function($){

$.fn.autoGrowInput = function(o) {

o = $.extend({
maxWidth: 1000,
minWidth: 0,
comfortZone: 70
}, o);

this.filter('input:text').each(function(){

var minWidth = o.minWidth || $(this).width(),
val = '',
input = $(this),
testSubject = $('<tester/>').css({
position: 'absolute',
top: -9999,
left: -9999,
width: 'auto',
fontSize: input.css('fontSize'),
fontFamily: input.css('fontFamily'),
fontWeight: input.css('fontWeight'),
letterSpacing: input.css('letterSpacing'),
whiteSpace: 'nowrap'
}),
check = function() {

if (val === (val = input.val())) {return;}

// Enter new content into testSubject
var escaped = val.replace(/&/g, '&amp;').replace(/\s/g,'&nbsp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
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('keyup keydown blur update', check);

});

return this;

};

})(jQuery);

关于javascript - 是否有用于文本字段的 jQuery 自动增长插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/931207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com