【问题标题】:Firefox XUL textbox: How to scroll to the bottom?Firefox XUL 文本框:如何滚动到底部?
【发布时间】:2010-12-31 22:27:25
【问题描述】:

我正在开发一个 Firefox 扩展,并且创建了一个多行文本框。当用户按下按钮时,我使用 (Javascript) TextBoxElement.value += "More Text";

将文本添加到文本框

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

有什么方法可以让滚动条回到文本框的底部?

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

【问题讨论】:

    标签: firefox textbox scroll xul


    【解决方案1】:

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

    这里是示例代码:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2010-11-26
        • 2017-02-07
        • 1970-01-01
        • 2012-03-01
        • 2010-10-28
        • 2011-09-30
        • 1970-01-01
        • 1970-01-01
        • 2014-12-22
        相关资源
        最近更新 更多