删除内容时无法获取textarea的scrollheight

时间:2011-12-29 10:47:45

标签: jquery textarea

当人们更改内容时,我希望获得<textarea>的滚动高度。问题是当我添加内容时,我可以获得越来越多的滚动高度,但是当我删除内容时,我无法获得减少scrollheight.And这是代码

$("textarea[id^='_sub_ialready_']").live("keydown keyup focus blur",
    function()
    {
        if(aobj.minHeight == 0)
        aobj.minHeight = $(this).height();
        if($(this).attr("scrollHeight") > aobj.minHeight)
        {
            if($(this).attr("scrollHeight") > aobj.maxHeight)
            {
                nheight = aobj.maxHeight;
                $(this).css("overflow-Y",'scroll');    
            }    
            else
            {
                nheight = $(this).attr("scrollHeight");
                $(this).css("overflow-Y",'hidden');    
            }
            $(this).height(nheight);
       }
    }
)

2 个答案:

答案 0 :(得分:2)

您要做的是首先将高度设置为auto,如下所示:

$('#textarea').height('auto');

然后获取scrollHeight属性:

var h = $('#textarea').prop('scrollHeight');

答案 1 :(得分:0)

怎么样......

.attr('scrollHeight')

$('textarea:first').get(0).scrollHeight

OR(以像素为单位返回一个整数)

textarea.scrollHeight