jQuery / JS获取textarea的滚动条高度

时间:2011-05-12 15:07:33

标签: javascript jquery textarea scrollbar

我有一个固定高度的textarea。当用户在文本区域中键入文本时,用户在其中键入一些文本后会显示滚动条。

如何使用jQuery或纯JavaScript获取滚动条高度?我已经搜索了好几个小时,但找不到任何东西。我不能只插入div并通过div偏移获得滚动条高度,因为不允许textarea具有子元素。

请不要给我一个链接到jQuery插件来完成这项工作。我想学点东西。

3 个答案:

答案 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);
}