jQuery / JS获取文本区域的滚动条高度

jQuery / JS get the scrollbar height of an textarea

本文关键字:滚动条 高度 区域 取文本 JS 获取 jQuery      更新时间:2023-09-26

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

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

请不要给我一个jQuery插件的链接。我想学习一些东西。

textarea.scrollHeight

返回一个整数(像素)

$.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);
    }
});

请注意,在比较 scrollHeight 时,您应该排除文本区域的填充和下填充

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