如何使用Javascript或jQuery获取突出显示的文本?

时间:2011-05-29 20:03:11

标签: javascript jquery

如何获取javascript或jquery来抓取我用鼠标或键盘选择/高亮的文字?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

对于textareas,你可以使用它(如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; 
          }