2016-08-15 6 views
0

나는 내 웹 사이트 용 텍스트 편집기를 만들고 있는데, 텍스트가 나타날 때마다 찾아 강조 표시하고 사용자가 선택한 경우 찾기 및 바꾸기 기능이 필요하다. 그것을 대체합니다. 그런 다음 다음 발생으로 이동하고 동일한 작업을 수행합니다. ,자바 스크립트로 반복 찾기 및 바꾸기

var haystackText = ""; 
function findMyText(needle, replacement) { 
    if (haystackText.length == 0) { 
      haystackText = document.getElementById("haystack").innerHTML; 
    } 
    var match = new RegExp(needle, "ig");  
    var replaced = ""; 
    if (replacement.length > 0) { 
      replaced = haystackText.replace(match, replacement); 
    } 
    else { 
      var boldText = "<div style=\"background-color: yellow; display: inline; font-weight: bold;\">" + needle + "</div>"; 
      replaced = haystackText.replace(match, boldText); 
    } 
    document.getElementById("haystack").innerHTML = replaced; 
} 

하지만 그것은 단지 그것을 텍스트가 사업부와 함께 작동, 그리고 텍스트 영역, 내가 가지고있는 것처럼, 또한, 그것은 발견 및/또는 한 번에 발생하는 모든를 대체 는이 코드를 보았다 하나씩 차례로 반복하는 대신

어떻게하면됩니까?

답변

0

코드가 <Div> 태그로 작동하는 경우 div 태그로 작업해야합니다. 해당 div 태그를 편집 가능하게 만드십시오.

이 시도 :

<div contenteditable="true">This is an editable div</div> 

의 contentEditable 속성을 지정하는 요소의 내용을 편집 할 수 있는지 여부.

+0

저는 텍사 레아를 사용하고 있는데, 그것의 'selectionStart'와'selectionEnd' 속성을 사용하고 싶습니다. – TricksfortheWeb