你自己的方法就能取出来
里面alert那句话
<script language="javascript">
  var down;
  var psn;
function show(obj){
    var slct = document.selection; 
    var rng = slct.createRange();
    alert(rng.text.length) 
    obj.select(); 
    rng.setEndPoint("StartToStart", slct.createRange()); 
    psn = rng.text.length; 
    rng.collapse(false); 
    rng.select();    var content = document.getElementsByName("knowBaseContent").item(0).value;
   var middle_substring = content.substring(down,psn);
//   alert(middle_substring);
   
}
function mousedown(obj){
var range = event.srcElement.createTextRange(); 
    range.moveToPoint(event.x,event.y); 
    range.moveStart("character",-event.srcElement.value.length) 
    down = range.text.length;
        
}</script>
<textarea  onmouseup="show(this)" onmousedown="mousedown(this)" name="knowBaseContent" cols="60" rows="10" id="testarea">abcde[fghijks]as[ashjjj]jhhg[gghg]hhgha</textarea>

解决方案 »

  1.   

    恩 我的目的是想选取字符串时能显示出鼠标拖曳文字后的效果。字符串现在不能选取了。可能是与读出鼠标的操作有冲突。
    这个代码 能选取出来托选的字符串。但是你要是把alert()去掉后。拖选变亮的效果根本没有呈现。
    我表达不好。希望能理解我的意思。现在这块对我挺关键。要是这块解决不了,下一步没发做了。让这个星期交工呢。
    那用户就不知道你要选取的是那些字符串了。字符串只是一瞬间的变亮。
      换句话说,就是复制。字符串拖曳后根本没有变亮。无法复制。