用div的contenteditable = true做文本编辑器 光标的设置方法

用div的contenteditable = true做文本编辑器的方法

function set_focus(el) {  

el=el[0];  // jquery 对象转dom对象  
el.focus();  
if($.browser.msie){  

//上面是ie的写法
var rng;  
el.focus();  
rng = document.selection.createRange(); 

rng.moveStart('character', -el.innerText.length);  

var text = rng.text;  

for (var i = 0; i < el.innerText.length; i++) {  

if (el.innerText.substring(0, i + 1) == text.substring(text.length - i - 1, text.length)) {  

result = i + 1;  
}  
}


}else{

   
var range = document.createRange();  
range.selectNodeContents(el);  

range.collapse(false);  

var sel = window.getSelection();  
sel.removeAllRanges();  
sel.addRange(range);  
}  



第二种写法

  function getC(that){  

//that 为dom对象    

            if(document.all){  
                that.range=document.selection.createRange();  
                that.range.select();  
                that.range.moveStart("character",-1);   
            }else{  
                that.range=window.getSelection().getRangeAt(0);  
                that.range.setStart(that.range.startContainer,2);  
            }  
    }




你可能感兴趣的:(Javascript)