2014-04-16 4 views
-1

여러 범위에서 텍스트를 선택/강조 표시하려고합니다 (예 : 텍스트를 마우스로 + 마우스로 클릭하고 끌기). 여기 JQuery : 여러 범위의 텍스트 선택/강조 표시

는 내가 좋아하지만 난 JQuery와에 SelectText("selectme2");을 추가하는 시도 http://jsfiddle.net/KcX6A/2816/

에 드릴 수 없습니다 것입니다 무엇을 보여 바이올린하지만 그것은 최초의 사업부를 해제합니다.

여기에서이 방법을 얻었습니다. Selecting text in an element (akin to highlighting with your mouse)하지만 하나의 범위 만 선택합니다.

답변

1

것은 어떻게 든 파이어 폭스에서 잘 작동하지만 크롬, 어쩌면 브라우저 호환성 문제 .. 이런 식으로 시도

HTML -

<div class="selectme">Some text to highlight</div> 
<div> Don't select this </div> 
<div class="selectme">Select this text too.</div> 
<br> 
<p>Click me!</p> 

Javascript-

function SelectText(element) { 
    var strongs = document.getElementsByClassName(element); 
    var s = window.getSelection(); 
    if(s.rangeCount > 2) s.removeAllRanges(); 

    for(var i = 0; i < strongs.length; i++) { 
     var range = document.createRange(); 
     range.selectNode(strongs[i]); 
     s.addRange(range); 
    } 
} 

$(document).ready(function(){ 
    $('p').click(function() { 
     myClass="selectme"; 
     SelectText(myClass); 
    }); 
}); 

여기가 라이브입니다. JSfiddle example

+0

내가 원했던 것이지만 당신이 옳다면 Chrome에서는 작동하지 않습니다. – heartmo

0

updated fiddle

사용 코드를 볼 highlight plugin 간단한 사용

$('p').click(function() { 
     $("div").highlight("highlight"); 

    }); 
+1

나는 그가'copy'를 위해 그것을 사용하기를 원하고 당신의 해결책이 도움이되지 않을 것이라고 생각합니다. – Michael

+0

Rituraj, 시도에 감사하지만 마이클이 맞습니다. 강조 표시를 사용하고 싶습니다. – heartmo