问题形容

咱们晓得浏览器页面上的文字失常状况下咱们是能够双击选中、或者单击鼠标横向拖动也能选中的,选中当前能够右击呈现面板而后去复制什么的。然而有的时候,这种成果咱们并不想要的,比方用户点快了的时候,所以咱们须要禁用这种成果,本文记录一下禁用选中成果的形式

鼠标选中的效果图如下

形式一:应用user-select属性

css设置user-select:none;即可,若须要做浏览器兼容解决,请看下方残缺写法:

代码如下

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        h2 {            /* 火狐 */            -moz-user-select: none;            /* Safari 和 欧朋 */            -webkit-user-select: none;            /* IE10+ and Edge */            -ms-user-select: none;            /* Standard syntax 规范语法(谷歌) */            user-select: none;        }    </style></head><body>    <h2>你好啊CSS</h2></body></html>
当然咱们通过js选中dom元素去设置css款式也是能够的:document.querySelector('h2').style.userSelect = "none"

el-table也应用了user-select这个属性

审查元素图解一下:

MDN官网概念定义传送门:https://developer.mozilla.org...

形式二:onselectstart事件

onselectstart 就是用户选中DOM元素时候,被开始选中时,行将要被选中,理论未被选中的这个事件。咱们只有让这个事件返回false,也就是完结这个事件,所以就不会有选中事件了,也就不会呈现咱们不想要的那种成果,代码如下,两种写法

写法一 写在标签下面

<h2 onselectstart="return false;">你好啊CSS,不能被鼠标选中</h2>

写法二 通过绑定事件的模式

<body>    <h2>你好啊CSS,不能被鼠标选中</h2>    <script>        document.querySelector('h2').onselectstart = function () {            return false        }    </script></body>

总结

文中介绍了两种形式实现禁用选中成果,一种是通过css管制,另一种是通过js管制。留神,如果是设置在body标签上,那么整个页面的文字什么的都不能被选中了...