2012-11-06 87 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());​ 
});