如何自动滚动到文本中的所需单词

时间:2018-05-01 15:31:43

标签: javascript angular textarea

当我从搜索到textarea中存在大文本的所需单词时,我已经有了这个单词的第一个索引和最后一个索引。这样我就setSelectionRange (firstIndex, lastIndex)focus ()

但问题是自动滚动到这个单词不起作用,你需要手动滚动才能看到突出显示的单词。怎么解决这个? Search results Selected word and scroll bar

  ngOnInit() {
    const subscription = this.pageService.subject.subscribe(
      r => {
        setTimeout(() => {
          this.textareaNovel.nativeElement.focus();
          const firstIndex = this.pageService.allIndex[this.pageService.indexOfOne];
          const lastIndex = firstIndex + this.pageService.inputSearchText.length;
          this.textareaNovel.nativeElement.setSelectionRange(firstIndex,lastIndex);
        }, 100);
      },
      e => console.error(e),
      () => console.info("completed")
    );
  }

1 个答案:

答案 0 :(得分:0)

var objDiv = document.getElementById(“divExample”); objDiv.scrollTop = 50

你可以使用它来滚动你想要的任何地方,如果你能找到你可以插入的文字位置。希望这会有所帮助:)