jquery 插件实现多行文本框[textarea]自动高度

时间:2021-05-26

实现功能:

1/当textarea换行时自动增加一行高度
2/当textarea删除一行时 自动减少一行的高度 依赖:jquery.xxx.js 工作中需要使用类似功能但是觉得使用插件需要导入其他文件很不方便所以就写了一个

textarea jquery插件

复制代码 代码如下:
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-5"> 内容</label>
<div class="col-sm-9">
<textarea class="col-sm-8" id="form-field-5" placeholder="请输入内容..."></textarea>
</div>
</div>

复制代码 代码如下:
jQuery.extend({
textareaAutosize_dc: function() {
$("textarea").on("keyup", function(e) {
var currentEnterCount = $(this).val().split("\n").length;
var lineHeight = Number($(this).css("line-height").replace("px", ""));
var enterCount = $(this).attr("enterCount");
if (currentEnterCount < enterCount && enterCount != undefined) {
//每行减掉固定行高
$(this).height($(this).height() - lineHeight);
} else if (currentEnterCount > enterCount) {
//每行加入固定行高
$(this).height($(this).height() + lineHeight);
$(this).attr("enterCount", currentEnterCount);
}
//记录当前行高
$(this).attr("enterCount", currentEnterCount);
});
}
});
//调用自动高度
$.textareaAutosize_dc();

以上就是本文的全部内容了,希望大家能够喜欢。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章