2014-12-17 3 views
4

내 사이트에 ACE 편집기를 사용하고 있습니다. 편집기에서 특정 줄을 선택/강조 표시해야합니다. 그러나 큰 코드 일 때 ACE 편집기는 행 번호 변경 사항을 아래로 스크롤 할 때와 강조 표시 행 번호가 강조 표시하려는 것과 다른 경우와 같은 몇 가지 오류를 표시합니다. 나는 수색하고 발견했다 Problem. 그러나 실제로 나는 그것을 이해할 수 없다. 누구든지 ACE 편집기에서 행을 강조 표시 할 수있는 몇 가지 예제를 제공 할 수 있습니까?ACE 편집기에서 특정 행을 강조 표시하는 방법은 무엇입니까?

var aceLines = document.getElementsByClassName("ace_line"); 
var gutters = document.getElementsByClassName("ace_gutter-cell"); 
var gutLineNo = parseInt(gutters[0].innerHTML)-1; 

if(count1 != 0){ 
     aceLines[arNum[count]-gutLineNo].style.backgroundColor = "green"; 
     aceLines[arNum[count1]-gutLineNo].style.backgroundColor = "black"; 

    }else{ 
     aceLines[arNum[count]-gutLineNo].style.backgroundColor = "green"; 
    } 

답변

6

것은 직접 편집기 DOM을 수정하려고하지 마십시오 여기에 내 현재 코드입니다. 에이스 당신은 여기에 마커

var Range = ace.require('ace/range').Range; 
editor.session.addMarker(new Range(from, 0, to, 1), "myMarker", "fullLine"); 

를 추가 첫번째 배경을

.myMarker { 
    position:absolute; 
    background:rgba(100,200,100,0.5); 
    z-index:20 
} 

을 설정하는 CSS 클래스를 만들 How can I highlight multiple lines with Ace?

설명처럼 setMarker를 사용할 필요가 만 볼 라인에 대한 DOM 노드를 생성하고 fromto은 강조 표시 할 줄 번호입니다.

관련 문제