禁用双击选中
通过双击鼠标选中内容是一个很常用、很便捷的操作,但是有时候我们需要用户多次点击某个区域,但是并不希望出现这个区域或者这个区域的某一部分被选中的情形。
要实现这个功能就需要用到user-select这个CSS属性了。因为这个属性属于CSS4,所有兼容性并不是很好,但是我们需要使用的use-select: none,包括IE10+的现代浏览器都支持。只是需要添加浏览器前缀。

而如果需要支持IE9和IE8,可以使用selectstart事件。
1
<div class="unselectable">不能通过双击选中</div>
1
2
3
4
5
6
.unselectable {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
1
2
3
document.querySelectorAll('.unselectable').addEventlistener('selectstart', function() {
  return false;
});
当我们需要切换禁用/启用双击选中某个区域时,只需要在这个区域的最外层元素上添加/删除unselectable类就好了。