2012-11-06 46 views
0

我有它动态地在C#中做此改变一个textarea:自动滚动到文本区域的底部

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

当文本是大的textarea的,我想滚动始终在底部。我试图在JS(jquery)中使用change事件来做到这一点。

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

这是我在JavaScript中使用的代码。问题在于事件不会发生,即使textarea中的文本发生了变化,我已经通过用不执行的警报进行调试来证明这一点。

+0

你尝试:http://stackoverflow.com/a/642373/395890 – AMember

回答

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

这工作,谢谢。虽然我仍然不知道为什么改变事件不会触发。 –

+0

如果您使用jQuery,为什么不使用$而不是document.getElementById? – geedubb

0

关于您的活动这一问题不点火:如果这是ASP.NET web表单,这是不可能的,你的文本框(输入)的客户端id为TextBox1的。

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

+0

该ID是正确的 –

0

您前人的精力用这个代码向下滚动文本区域的底部:

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

如果你想向下滚动,当它的内容变化,使用此:

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