document.getElementById('xxx').focus();如果文本框一直没获得焦点,调用focus()方法后 光标在文本框最后

解决方案 »

  1.   

    不让文本框获得焦点是无法控制光标的。替代方案是:记住以前的焦点,控制完光标后,把焦点还给它。
    控制光标的方法:// 得到一个文本框控件的当前光标位置
    function getPos(obj){
         obj.focus();
       var workRange=document.selection.createRange();
       obj.select();
       var allRange=document.selection.createRange();
       workRange.setEndPoint("StartToStart",allRange);
       var len=workRange.text.length;
       workRange.collapse(false);
       workRange.select();
       return len;
    }
    // 设置一个文本框控件的当前光标位置
    function setCursor(obj,num){
       range=obj.createTextRange();
       range.collapse(true);
       range.moveStart('character',num);
       range.select();
    }