自动滚动到textarea的底部

时间:2012-11-06 08:18:50

标签: c# jquery textarea onchange autoscroll

我有一个textarea,它在c#中动态更改:

TextBox1.Text=(String)Application["chat"]; 

当文本对于textarea来说很大时,我希望滚动始终位于底部。我已尝试在JS(jquery)中使用change事件执行此操作。

$("#TextBox1").change(function () {
    alert("alert");
    // $('#TextBox1').scrollTop($('#TextBox1')[0].scrollHeight);
});

这是我在Javascript中使用的代码。问题是即使textarea中的文本被更改,事件也不会发生,我已经通过使用不执行的警报对其进行了验证。

3 个答案:

答案 0 :(得分:1)

var textarea = document.getElementById('textarea_id');
textarea.scrollTop = textarea.scrollHeight;

答案 1 :(得分:0)

关于此事件未触发的问题:如果这是ASP.NET webforms,则文本框(输入)的客户端ID不太可能是TextBox1。

在生成的页面上查看源代码并检查ID呈现的内容并相应地更新JS。

答案 2 :(得分:0)

您应该使用此代码向下滚动textarea到底部:

$("#TextBox1").scrollTop($("#TextBox1").height());​

如果您想向下滚动,当内容发生变化时,请使用:

$("#TextBox1").change(function(){
    $(this).scrollTop($(this).height());​
});