css控制页面文字不能被选中user-select:none;
现象:html中可能有些地方不想让用户复制文字,或是用a标签做了个点击按钮,点快的时候文字会被选中,很丑,这个时候可以使用下面的方案禁止文字选中。
原因:鼠标点快了文字会被选中。
解决方案:不同的浏览器设置的内容不一样,user-select不是一个W3C的标准,浏览器的支持不完成,需要对不同的浏览器进行调整。
1 body{ 2 3 -moz-user-select:none;/*火狐*/ 4 5 -webkit-user-select:none;/*webkit浏览器*/ 6 7 -ms-user-select:none;/*IE10*/ 8 9 -khtml-user-select:none;/*早期浏览器*/ 10 11 user-select:none; 12 13 }
user-select有2个值(none表示不能选中文本,text表示可以选择文本)
IE6-9还没发现相关的CSS属性
1 //IE6-9 2 3 document.body.onselectstart=document.body.ondrag=function(){ 4 5 returnfalse; 6 7 }
扩展:
1.阻止冒泡:e.cancelBubble=true
e.stopPropagation()
2.阻止默认:e.preventDefault()
return false;
举个栗子:在做APP时经常用到下面的~~
1 html,body{ 2 -webkit-touch-callout:none ; 3 -webkit-text-size-adjust:none ; 4 -webkit-tap-highlight-color:transparent ; 5 -webkit-user-select:none ; 6 }