2011-05-29 58 views
0

如何獲取javascript或jquery以獲取我選擇的文本/使用鼠標或鍵盤高亮顯示的文本?如何使用Javascript或jQuery獲取突出顯示的文本?

+0

重複問題 – Ibu 2011-05-29 20:05:13

+2

http://www.quirksmode.org/dom/range_intro.html – Tomalak 2011-05-29 20:06:24

+0

這是一個很好的選擇文本和操作的插件,應該很有用:http://plugins.jquery.com/project/a-tools – XGreen 2011-05-29 20:13:18

回答

1

與上文相似,這個所選的文本輸出到一個div(改編自http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html):

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script language=javascript> 
$(document).ready(function() { 
var txt = ''; 
function getSelected() 
{ 
    if (window.getSelection) { 
    txt = window.getSelection(); 
    } 
    else if(document.getSelection) { 
    txt = document.getSelection(); 
    } 
    else if(document.selection) { 
    txt = document.selection.createRange().text; 
    } 
     txt = txt.toString(); 
    return txt; 
} 

$('#container').mouseup(function() { 
    $('#message').html(getSelected()); 
}); 
}); 
</script> 
<style type="text/css"> 
#message { 
    min-height: 20px; 
    width: 300px; 
    border: 1px solid orange; 
    padding: 5px; 
} 
</style> 
<div id="message"></div> 
<div id="container"> 
<p>Text to select</p> 
</div> 
+0

除非您支持Safari 2及更早版本,否則不需要'window.getSelection()'和'document.getSelection()'。 – 2011-05-29 22:20:07

0

對於文字區域,則可以使用此(上javascript wrap text with tag可見):

var val; 
      el = document.getElementById('textarea'); 
      if (el.setSelectionRange) { 
    //webkit & ff 
      var val = el.value.substring(el.selectionStart,el.selectionEnd); 
      } 
      else if(document.selection.createRange()) { 
// ie 
       var val = document.selection.createRange().text; 
      } 
相關問題