2012-04-27 5 views
0

아래 스크립트를 사용하여 텍스트 영역에 미리 정의 된 텍스트를 강조 표시했습니다. http://www.strangeplanet.fr/work/jquery-highlighttextarea/사용자가 지정한 키워드를 기반으로 텍스트 영역 강조 표시

미리 정의 된 텍스트를 어떻게 변경할 수 있습니까? 예 : 사용자가 특정 입력란에 "녹색"이라고 쓰고 "녹색 단어"가 텍스트 영역에서 강조 표시됩니까?

+1

이 플러그인은 너무 간단 다시 초기화에는 "갱신"API 방법에없는 것 같다 'change'이벤트는 @F와 같습니다. 칼데론은 일해야한다고 말했다. – VisioN

답변

0
$("#input-id").bind('keypress',function() { 
    var word = $(this).val(); 
    if (word) { 
     $("textarea").highlightTextarea({ 
      words: [word] 
     }); 
    } 
}); 
+0

아무 키나 클릭하면 플러그인이 두 번 다시 시작됩니까? – VisioN

+0

@Vision은 시도해 봤는데 .. 아무 생각도 .. – coolguy

+0

예, http://jsfiddle.net/Mh49B/. – VisioN

1

어쩌면 당신은 input text 포커스를 잃을 때 때 입력 변경 (예를 들어/당신이 다른 곳에 클릭하면 플러그인을 호출 스 니펫을이 코드

같은
<input type="text" id="wordtohighlight"> 
<textarea>lorem ipsum green sit dolor amet green</textarea> 

JS/jQuery를

$('#wordtohighlight').on('change', function() { 
    var v = $(this).val(); 
    $("textarea").highlightTextarea({ 
     words: [v] 
    }); 
} 

을 시도 할 수 페이지). 원하는 경우 keyup 이벤트를 사용할 수 있습니다.

0

입력 상자의 keydown 이벤트에 후크하고 단어 배열을 변경하십시오.

나는 당신이 연결된 jQuery 플러그인을 사용한 적이 있지만이 같은 작업을해야합니다 :

$("#target").keydown (function() { 
    $("textarea").highlightTextarea({ 
      words: [$(this).val()] 
    }); 
}); 
+0

아마도'keyup'이 더 좋습니다. – VisioN

0
$("#input-id").keydown (function() { 
    var word = $(this).val(); 
    if (word) { 
     word += '-words'; 
     $("textarea").highlightTextarea({ 
      words: [word] 
     }); 
    } 
}); 
관련 문제