1. 什么是禁止选中文本?
网页上的文本是可以被鼠标选中的(即高亮文本),有时候我们会希望某些文字或者段落不能被选中,这时就需要禁止选中。
2. 禁止选中的实现方法
2.1 user-select属性
user-select属性是CSS3中新增的属性,可以控制用户是否可以选择文本,值有以下几种:
auto
none
text
all
.no-select {
user-select: none;
}
上述代码中,将元素的user-select属性设置为none, 表示不能被选中。
2.2 鼠标事件
还可以通过鼠标事件来禁止选中,如下所示:
.no-select {
-moz-user-select:none; /* 火狐 */
-webkit-user-select:none; /* webkit 谷歌*/
-ms-user-select:none; /* IE10 */
user-select:none; /* 所有浏览器 */
}
上述代码中,将元素的user-select属性设置为none, 表示不能被选中。
3. 如何禁止选中输入框内的文本?
3.1 使用CSS
应用于所有input类型为text的元素:
input[type=text] {
-webkit-user-select: text !important; /* webkit 谷歌*/
-moz-user-select: text !important; /* 火狐 */
-ms-user-select: text !important; /* IE10 */
user-select: text !important; /* 所有浏览器 */
}
3.2 使用JavaScript
var input = document.getElementById('input');
input.onselectstart = function() {
return false;
};
input.onmousedown = function() {
return false;
};
以上两个函数设置为false,表示鼠标按下和选中时不会发生任何操作,实现禁止选中文本的效果。
4. 总结
通过user-select属性和鼠标事件可以实现禁止选中文本的效果,对于输入框内部文本的处理可以使用CSS和JavaScript来实现。