这是梅老大的得到光标后一个字符的代码,你看对你有帮助没?
<input id="txt1" value="Hi,do you know it?">
<input type="button" value="meizz" onclick="meizz()">
<script language="javascript">
var s;
function meizz()
{
  txt1.focus();
  var sel = document.selection.createRange();
  sel.moveStart("character",0);
  sel.moveEnd("character",1);
  s = sel.text;
  alert("S = "+ s);
}
</script>

解决方案 »

  1.   

    <script language="javascript">
    function split()
    {
      document.all.txt1.focus();
      var sel = document.selection.createRange();
      sel.moveStart("character",0);
      sel.moveEnd("character",document.all.txt1.value.length);
      str=sel.text;
      document.all.txt2.value=document.all.txt1.value.replace(str,"");
      document.all.txt3.value=str;}
    </script><html>
    <body>
    <form>
       <input id="txt1" value="this is split test!" onclick="split()">
       <br>
       <input id="txt2" value="">
       <input id="txt3" value="">
    <form>
    </body>
    </html>
      

  2.   

    另外呢...我觉得双击的可行性不大,你可以将onclick()改为ondblclick()来试试。因为双击的时候默认就是选取当前光标所在的词语,而不是确定某个具体的位置... 怎么替换掉这个功能...不会,嘻,所以我只能用单击或者用btn来代替双击事件。
      

  3.   

    用双击的话,应该不行.因为,双击,会选中所有的内容.
    你可以改成,点按钮..<input value=0123456789 id="txt1"> 
    <input type="button" value="Get Text" onclick="getCaretPos(txt1)"> 
    <script language="javascript"> 
    function getCaretPos(obj){ 
    obj.focus(); 
    var workRange=document.selection.createRange(); 
    var allRange=obj.createTextRange(); 
    workRange.setEndPoint("StartToStart",allRange); 
    len=workRange.text.length; 
    alert(obj.value.substr(0,len));
    alert(obj.value.substr(len,obj.value.length));
    }
    </script>
      

  4.   

    点击,显示光标所在位置前半了词,和后半个词:<BODY>
    <TEXTAREA id="txa" ROWS="10" COLS="30">
    abcdefg123456 abcde456 ab456 abcdefg123456 
    eeeeee11111111 1111dddddddd sss1111111
    </TEXTAREA>
    <script type="text/jscript" for="txa" event="onclick"> 
    var pre,post;
    txa.focus(); 
    var rng = document.selection.createRange(); 
    rng.moveStart('word', -1);
    pre = rng.text;
    rng.moveStart('character', rng.text.length);
    rng.moveEnd('word', 1);
    post = rng.text;
    alert("Pre  = " + pre + "\nPost = " + post);
    </script>
    </BODY>