C# 自动滚动到文本区域的底部

C# 自动滚动到文本区域的底部,c#,jquery,textarea,onchange,autoscroll,C#,Jquery,Textarea,Onchange,Autoscroll,我有一个文本区域,通过这样做,它在c#中发生了动态变化: TextBox1.Text=(String)Application["chat"]; 当文本区域的文本太大时,我希望滚动条始终位于底部。我曾尝试在JS(jquery)中使用change事件来实现这一点 $("#TextBox1").change(function () { alert("alert"); // $('#TextBox1').scrollTop($('#TextBox1')[0].scrollHeight

我有一个文本区域,通过这样做,它在c#中发生了动态变化:

TextBox1.Text=(String)Application["chat"]; 
当文本区域的文本太大时,我希望滚动条始终位于底部。我曾尝试在JS(jquery)中使用change事件来实现这一点

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

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

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

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

在生成的页面上查看源代码,检查ID呈现为什么,并相应地更新您的JS。

您应该使用此代码向下滚动文本区域至底部:

$("#TextBox1").scrollTop($("#TextBox1").height());​
如果要在内容更改时向下滚动,请使用以下命令:

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

你试过了吗:这很有效,谢谢。虽然我仍然不知道为什么更改事件不会触发。如果您使用jQuery,为什么不使用$而不是document.getElementById?