可以,参看:http://www.sitepoint.com/article/life-autocomplete-textboxes/2

解决方案 »

  1.   

    to visualsw:
      怎么可以啊?
      

  2.   

    webdiyer,
      现在可以设置了,不果IE还是没法获取SelectStart,SelectLength信息
    主要是onblur再次focus后光标会跑到第一个字符,而不是刚才编辑的位置,我想修改修改
      

  3.   

    to webdiyer:是啊,我就是要写一大段代码来记住光标的位置,所以要事先知道光标所处的位置
      

  4.   

    //取当前光标位置
    var textobj=document.selection.createRange();
    textobj.setEndPoint("StartToStart",thetext.createTextRange());
    ww=textobj.text.length+1//设置选择
    <div id=demo>光标定位.abcdefghijklmnopqrstuvwxyz</div>
    <br>从正数<input id=b value=4 size=4> 到 倒数第<input id=s value=4 size=4>位 <input value="设置文本选择" type=button onclick=setSelect()>
    <script>
    function setSelect(){var range = document.body.createTextRange();
    range.moveToElementText(demo)
    range.moveEnd('character',-1*parseInt(document.all.s.value)); 
    range.moveStart('character',-1+parseInt(document.all.b.value)); 
    range.select();
    }
    </script>
      

  5.   

    function getCaret(textbox)
    {
    var rang = document.selection.createRange();
    rang.setEndPoint("StartToStart",textbox.createTextRange());

    return rang.text.length;
    }function setCaret(textbox,pos)
    {
    try
    {
    var r =textbox.createTextRange();
    r.moveStart('character',pos);
    r.collapse(true);
    r.select();
    }
    catch(e)
    {}
    }function selectLength(textbox,start,len)
    {
    try
    {
    var r =textbox.createTextRange();

    r.moveEnd('character',len-(textbox.value.length-start));
    r.moveStart('character',start);

    r.select();
    }
    catch(e)
    {//alert(e.description)}
    }