2017-10-30 3 views
4

에서 선택을 설정각 2 -이 선택이하여 elementRef

let selection = window.getSelection(); 

그리고이하여 elementRef을 :

@ViewChild('contentEditable') public el: ElementRef; 

그리고 예를 들어이 텍스트는의 contentEditable하여 elementRef 내부 :

이것은 일부 텍스트입니다

'some'을 선택한 다음 선택 항목을 잃어 버렸지 만 getSelection()을 사용하여 선택 속성에 저장했습니다. elementRef에 다시 설정하려면 어떻게해야합니까?

답변

1

나는 input을 contentEditable과 혼동하고있었습니다. contentEditable을 사용하면 범위를 사용하여 선택 영역을 가져와 선택 영역을 설정해야합니다. 이 자바 스크립트의 선택과 범위 개체의 조합을 사용

let range = document.createRange(); 
range = window.getSelection().getRangeAt(0); 
this.rangeClone = range.cloneRange(); 

:

선택을 얻으려면.

Selection

Range

이 선택을 설정하려면 : 더 많은 정보를 들어, 문서를 읽어 This.el은 다음과 같습니다

this.el.nativeElement.focus(); 
const sel = window.getSelection(); 
sel.removeAllRanges(); 
sel.addRange(this.rangeClone); 

:

@ViewChild('contentEditable') public el: ElementRef;