function moveAtCaret(obj,n){//将obj中光标方向移动n个字符 
    obj.focus(); 
    var rng=document.selection.createRange(); 
    rng.moveStart("character", n); 
    if(n>0)rng.select(); 
}

解决方案 »

  1.   

    將moveStart函數改爲 move 函數就行了呀
      

  2.   

    回复人: liaomingxue() ( ) 信誉:100  2004-08-05 15:10:00  得分: 0  
      
       注释掉rng.select()看看
    注释过了,不行啊!
      
     
      

  3.   

    暈啊,這個不行?我剛試過的
    function moveAtCaret(obj,n)

        obj.focus(); 
        var rng=document.selection.createRange(); 
        rng.move("character", n); 
        rng.select(); 
    }
      

  4.   

    回复人: duoduobaba(避雷针) ( ) 信誉:100  2004-08-05 15:15:00  得分: 0  
      
       再加个rng.moveEnd("character",n)
      
     谢谢各位兄台热心帮忙,duoduobaba(避雷针)的对了,呵呵!
    我结贴了,
      

  5.   

    duoduobaba(避雷针) 的對嗎
    我看向前移動又變成选中了,除非你判斷n 的正負
    那還不如用 move 呢
      

  6.   

    搞错了,是 zmy0611(zmy) 和duoduobaba(避雷针)的都对啊,刚才是由于别出出了点毛病。
    正式结贴了!^_^
      

  7.   

    的确该用move的
    用move是直接走n步
    moveStart+moveEnd是左脚走n步右脚跟n步,虽然出来的效果一样,但是多次一举了哈哈