5分鐘實現多行文本框[textarea]自動高度jquery 插件

由於此代碼應用中發如今連續回車或者退格的狀況下有bug,因此從新寫了作了調整,參照新文css

[1分鐘實現多行文本框[textarea]自動高度jquery 插件]html

####################################################jquery

##############如下內容爲舊文不建議參考#######################this

####################################################spa



<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();
相關文章
相關標籤/搜索