我有一个固定高度的textarea。当用户在文本区域中键入文本时,用户在其中键入一些文本后会显示滚动条。
如何使用jQuery或纯JavaScript获取滚动条高度?我已经搜索了好几个小时,但找不到任何东西。我不能只插入div并通过div偏移获得滚动条高度,因为不允许textarea具有子元素。
请不要给我一个链接到jQuery插件来完成这项工作。我想学点东西。
答案 0 :(得分:15)
textarea.scrollHeight
返回一个整数(像素)
答案 1 :(得分:1)
$.each($("textarea"), function () {
var scrollHeight = parseInt(this.scrollHeight);
if ($("this").val() != "" && isNaN(scrollHeight) == false && scrollHeight > 0 && scrollHeight > $(this).height()) {
console.log($(this).attr("id"));
$(this).height(scrollHeight);
}
});
答案 2 :(得分:0)
请注意,在比较scrollHeight时,您应该排除textarea的上部填充和下部填充。
var scrollHeight = $("#textarea_id")[0].scrollHeight;
var padding = 14; //upperpadding 7 and lower padding 7.
if($("#textarea_id")[0].height() < (scrollHeight - padding)) {
$("#textarea_id")[0].height(scrollHeight - padding);
}