2014-11-25 4 views
-3

일부 가사가 포함 된 DIV 필드가 있습니다. 나는 사용자가 끌 때 알고 싶다 & 가사의 일부를 선택했습니다. 어떻게이 일을 할 수 있습니까? 실시 예는 다음과 같다 :이 예시에서 사용자 JavaScript로 선택한 텍스트를 얻는 방법?

image

은 & 파란색 배경을 가지는 부분을 선택된 끌고있다. 나는 자바 스크립트가 "내 정신이 당신을 버리는 것에 있다고 믿을 수 없다"를 선택하기를 원한다. 가능한가요?

+0

내가 생각 해낸 없습니다. :/ –

+0

'window.getSelection()' –

+0

@vp_arth 사용자 선택이 완료되었을 때 반응하기 위해 타이머를 사용해야합니까? –

답변

4

나는이 일이 당신이 원하는 생각 :

if (!window.x) { 
 
    x = {}; 
 
} 
 

 
x.Selector = {}; 
 
x.Selector.getSelected = function() { 
 
    var t = ''; 
 
    if (window.getSelection) { 
 
    t = window.getSelection(); 
 
    } else if (document.getSelection) { 
 
    t = document.getSelection(); 
 
    } else if (document.selection) { 
 
    t = document.selection.createRange().text; 
 
    } 
 
    return t; 
 
} 
 

 
$('#html1').ready(function() { 
 
    $(document).bind("mouseup", function() { 
 
    var mytext = x.Selector.getSelected(); 
 
    alert(mytext); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="html1">They kill me for waiting you. I can't recall a more bla bla bla bla 
 

 
</div>

http://jsfiddle.net/0mqo0zhk/

2

참조 : How to get selected text with JavaScript

이 이미 대답하고 그것뿐만 아니라 나를 위해 일했다. 나는 대답뿐만 아니라 링크를 공유했다. 희망이 당신을 도울 수 있습니다.

function GetSelectedText() { 
if (window.getSelection) { // all browsers, except IE before version 9 
    var range = window.getSelection(); 
    alert (range.toString()); 
} 
else { 
    if (document.selection.createRange) { // Internet Explorer 
     var range = document.selection.createRange(); 
     alert (range.text); 
    } 
} 
} 

var butn = document.getElementById("soda"); 
butn.onclick = function(){ 
    GetSelectedText(); 
} 
+1

이전 버전의 IE에는 신경 쓰지 않습니다. 사실 IE 자체는 신경 쓰지 않습니다. 내 웹 사이트가 Chrome, Safari 및 Chromium 코어를 사용하는 다른 브라우저와 같은 실제 브라우저에서 작동하도록하고 싶습니다. –

0
window.getSelection().toString() 
관련 문제