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

时间:2010-01-03 06:00:43

标签: firefox textbox scroll xul

我正在开发Firefox扩展程序,我创建了一个多行文本框。当用户按下按钮时,我使用(Javascript)TextBoxElement.value + =“More Text”将文本添加到文本框中;

此代码的问题在于,无论何时添加更多文本,文本框都会一直滚动到顶部。经过多次测试,我还没弄明白如何让它再次滚动到底部。由于某种原因,scrollTop属性始终为0,并且设置它不会影响滚动条。

有什么方法可以将滚动条设置回文本框的底部吗?

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

2 个答案:

答案 0 :(得分:1)

Chatzilla上的某个人帮我解决了这个问题。谢谢!

无论如何,这是解决方案:

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

答案 1 :(得分:0)

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

以下是示例代码:

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