动态滚动文本区域

Nei*_*ley 14 javascript ajax xhtml textarea

我的页面上有一个textarea html元素,可以通过ajax重新加载.每次返回整个textarea而不仅仅是其内容,并且内容随着时间的推移而增长.与textarea一起,我返回以下javascript:

<script type="text/javascript" >

var textArea = document.getElementById('outputTextResultsArea');
textArea.scrollTop = textArea.scrollHeight;
</script>
Run Code Online (Sandbox Code Playgroud)

在firefox 3.0.7中,它将滚动条放在textArea的底部,允许我查看最新的输出.但是在IE 7中,我看到了不同的行为.滚动条按预期向内移动内容,但一旦内容大于textarea高度,滚动条就不再向下移动.好像IE正在记住元素的原始滚动高度,而不是新的高度.

如果有帮助,我正在使用xhtml过渡文档类型.此外,如果这可以通过jQuery实现,因为我可以访问它.

提前致谢

尼尔

Gre*_*reg 21

作为一个快速黑客你可以这样做:

textArea.scrollTop = 99999;
Run Code Online (Sandbox Code Playgroud)

另一种选择是在计时器中尝试:

setTimeout(function()
{
    var textArea = document.getElementById('outputTextResultsArea');
    textArea.scrollTop = textArea.scrollHeight;
}, 10);
Run Code Online (Sandbox Code Playgroud)