我有一个textarea,它在c#中动态更改:
TextBox1.Text=(String)Application["chat"];
当文本对于textarea来说很大时,我希望滚动始终位于底部。我已尝试在JS(jquery)中使用change事件执行此操作。
$("#TextBox1").change(function () {
alert("alert");
// $('#TextBox1').scrollTop($('#TextBox1')[0].scrollHeight);
});
这是我在Javascript中使用的代码。问题是即使textarea中的文本被更改,事件也不会发生,我已经通过使用不执行的警报对其进行了验证。
答案 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());
});