JS禁止选中文本方法

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");        
} 

 

IE下有onselectstart这个方法,通过设置这个方法可以禁止元素文本被选取。而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(); 


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

posted @ 2012-09-11 16:52  穆乙  阅读(31878)  评论(1编辑  收藏  举报