js中禁止选中文本的方法

sk  2016-7-28
0

IE下有onselectstart这个方法,通过设置这个方法可以禁止元素文本被选取。



if (typeof(element.onselectstart) != "undefined") {        
    // IE下禁止元素被选取        
    element.onselectstart = new Function("return false");        
} else {
    // firefox下禁止元素被选取的变通办法        
    element.onmousedown = new Function("return false");        
    element.onmouseup = new Function("return true");        
} 



而firefox下没有这个方法,但可以通过css或一种变通的办法解决:

使用CSS:

div {
      -moz-user-select:none;
      -webkit-user-select:none;
      user-select:none;    
}

另外一种方法是: 

 ie:document.selection.empty() 
 ff:window.getSelection().removeAllRanges()
 
兼容的写法:

window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty(); 


这种方法不但不影响拖放对象的选择效果,还能对整个文档进行清除.


回复 0  
游客  现在


二维码