2010-01-03 9 views
0

Firefox 확장 프로그램에서 작업 중이며 여러 줄 텍스트 상자를 만들었습니다. 사용자가 단추를 누르면 텍스트 상자에 (Javascript) TextBoxElement.value + = "More Text"를 사용하여 텍스트를 추가합니다.Firefox XUL 텍스트 상자 : 아래로 스크롤하는 방법?

이 코드의 문제점은 더 많은 텍스트가 추가 될 때마다 텍스트 상자가 맨 위로 스크롤된다는 것입니다. 많은 테스트를 통해, 맨 아래로 다시 스크롤하는 방법을 알지 못했습니다. 어떤 이유로 scrollTop 속성은 항상 0이고 스크롤 막대에 영향을주지 않습니다.

스크롤 막대를 텍스트 상자의 맨 아래로 다시 설정할 수있는 방법이 있습니까?

내 확장 프로그램의 목적은 작은 대화방을 삽입하는 것입니다. 채팅 기록을 저장하기 위해 텍스트 상자를 사용하고 있습니다. 어쩌면 텍스트 상자를 사용하는 것이 가장 효율적인 방법이 아니므로 다른 모든 제안 사항도 훌륭합니다.

답변

1

Chatzilla의 누군가 나를 도와주었습니다. 고맙습니다!

어쨌든, 여기에 솔루션입니다 :

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

또 다른 해결책은 텍스트 상자 내용의 끝에 캐럿을 이동하는 것입니다. 캐럿은 selectionStartselectionEnd 속성 (설정 또는 가져 오기 가능)으로 제어됩니다.

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

샘플 코드입니다
관련 문제