Firefox XUL文本框:如何滚动到底部?

Firefox XUL文本框:如何滚动到底部?,firefox,textbox,scroll,xul,Firefox,Textbox,Scroll,Xul,我正在开发一个Firefox扩展,并创建了一个多行文本框。当用户按下按钮时,我使用(Javascript)TextBoxElement.value+=“更多文本”向文本框添加文本 这段代码的问题是,每当添加更多文本时,文本框就会一直滚动到顶部。经过大量测试,我还没有弄明白如何让它再次滚动到底。由于某些原因,scrollTop属性始终为0,设置它不会影响滚动条 有没有办法将滚动条设置回文本框的底部 我的扩展的目的是嵌入一个小聊天框。我用一个文本框来存储聊天记录。也许使用文本框并不是最有效的方式,所

我正在开发一个Firefox扩展,并创建了一个多行文本框。当用户按下按钮时,我使用(Javascript)TextBoxElement.value+=“更多文本”向文本框添加文本

这段代码的问题是,每当添加更多文本时,文本框就会一直滚动到顶部。经过大量测试,我还没有弄明白如何让它再次滚动到底。由于某些原因,scrollTop属性始终为0,设置它不会影响滚动条

有没有办法将滚动条设置回文本框的底部


我的扩展的目的是嵌入一个小聊天框。我用一个文本框来存储聊天记录。也许使用文本框并不是最有效的方式,所以任何其他建议都会很好。

Chatzilla上有人帮我解决了这个问题。谢谢大家!

无论如何,解决方案如下:

var TextBoxElement = <TextBoxElement>;
var ti = document.getAnonymousNodes(TextBoxElement)[0].childNodes[0];
    ti.scrollTop=ti.scrollHeight;
var TextBoxElement=;
var ti=document.getAnonymousNodes(TextBoxElement)[0].childNodes[0];
ti.scrollTop=ti.scrollHeight;

另一种解决方案是将插入符号移动到文本框内容的末尾。插入符号由
selectionStart
selectionEnd
属性(可设置或获取)控制

以下是示例代码:

var TextBoxElement = document.getElementById("myTextboxId");
var pos = TextBoxElement.value.length;
TextBoxElement.selectionStart = pos;
TextBoxElement.selectionEnd = pos;