2014-07-15 3 views
2

누구나 ace.editor의 선택을 어떻게 해제 할 수 있습니까? 마우스와 손가락으로 단어를 선택하지 마십시오. 에이스 편집기에서 선택을 해제하는 방법

나는

editor.selection(false);을 사용하려하지만 그건 작동하지 않습니다.

+0

[이 문제 (https://github.com/ :

https://github.com/ajaxorg/ace/wiki/Creating-or-Extending-an-Edit-Mode

이 접근법이있다 ajaxorg/ace/issues/266) 에이스 github에서이 작업을 수행 할 수 없다는 것을 보여 주지만 해결 방법이 있습니다. – parchment

답변

4

당신은 효과적으로 설정하여 선택을 방지 할 수 있습니다 끝으로 커서를 이동 에디터는 다음 테마 선택 스타일을 무시 읽기 :

.noselection .ace_marker-layer .ace_selection { 
    background: transparent; 
} 

.noselection .ace_cursor { 
    color: transparent; 
} 

그런 다음 당신의 에이스 컨테이너 사업부에 noselection 클래스를 추가 할 수 있습니다.

이것은 실제로 사용자가 아무것도 선택하는 것을 방해하지는 않지만 시각적 인 표시가 없습니다. 그것은 모든 의도와 목적을 위해 거의 똑같습니다. 여기

더 많은 세부 사항 :

https://github.com/ajaxorg/ace/issues/266 또한

0

editor.setValue는 (캐릭터, -1) //이 시작

editor.setValue에 커서를 이동 (STR, 1) //이

+0

죄송 합니다만, 선택 사항을 훼손하지 않습니다. – user3825577

+0

커서 라인 하이라이트를 숨기려면 editor.setOptions ({ readOnly 인을 : 사실, highlightActiveLine : 거짓, highlightGutterLine : 거짓 }). editor.renderer을 $ cursorLayer.element.style.opacity = 0 편집기가 아닌 tabbable을 만드는 방법 editor.textInput.getElement(). tabIndex = -1 또는 editor.textInput.getElement(). disabled = 모든 바로 가기를 비활성화하려면 true editor.commands.commmandKeyBinding = {} –

+0

editor.selection(). disabled = true; –

4
editor.getSession().selection.on('changeSelection', function (e) 
{ 
    editor.getSession().selection.clearSelection(); 
}); 
+0

이것이 작동하는 이유를 설명하는 마음? – Unheilig

+0

@Unheilig 3 일 전에 에이스로 시작했기 때문에 설명 할 수없는 이유는 정확하게 설명 할 수 없으며 내부를 알지 못합니다. 그러나 그것이 내게 맞는지 확인할 수 있습니다. 내 생각 엔 당신이 한 글자라도 선택하려고한다면 즉시 선택을 취소 할 것입니다. – receptor

관련 문제