两种方式实现css取消页面鼠标双击选中文字或单击拖动选中文字的效果

简介: 两种方式实现css取消页面鼠标双击选中文字或单击拖动选中文字的效果

问题描述

我们知道浏览器页面上的文字正常情况下我们是可以双击选中、或者单击鼠标横向拖动也能选中的,选中以后可以右击出现面板然后去复制什么的。但是有的时候,这种效果我们并不想要的,比如用户点快了的时候,所以我们需要禁用这种效果,本文记录一下禁用选中效果的方式

鼠标选中的效果图如下

snipaste_20210729_202747.png

方式一:使用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这个属性

审查元素图解一下:

snipaste_20210729_200012.png

MDN官方概念定义传送门: https://developer.mozilla.org/zh-CN/docs/Web/CSS/user-select

方式二: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标签上,那么整个页面的文字什么的都不能被选中了...

相关文章
HTML+CSS 实现通用的企业官网页面(记得收藏)
HTML+CSS 实现通用的企业官网页面(记得收藏)
|
20天前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
20天前
|
前端开发
css页面顶部底部固定,中间自适应几种方法
【10月更文挑战第22天】css页面顶部底部固定,中间自适应几种方法
|
2月前
|
前端开发
前端基础(五)_CSS文本文字属性、背景颜色属性
本文详细介绍了CSS中关于文本和背景颜色的样式属性。包括字体大小、字体族、字体加粗、字体样式、文本行高、`font`属性、文本颜色、文本对齐方式、文本装饰线、首行缩进等文本属性,以及背景颜色、背景图片、背景重复、背景位置等背景属性。文章通过示例代码展示了这些属性的具体应用和效果。
31 3
前端基础(五)_CSS文本文字属性、背景颜色属性
|
1月前
|
编解码 前端开发 JavaScript
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
50 2
|
1月前
|
前端开发
CSS中如何实现鼠标悬停效果?
CSS中如何实现鼠标悬停效果?
35 0
|
2月前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
45 0
JS配合CSS3实现动画和拖动小星星小Demo
|
3月前
|
前端开发
简单几行代码CSS实现网页自动打文字效果
简单几行代码CSS实现网页自动打文字效果
55 1
简单几行代码CSS实现网页自动打文字效果
|
1月前
|
前端开发 Ubuntu Linux
CSS 修改鼠标图标样式
CSS 修改鼠标图标样式
37 0
|
1月前
|
Web App开发 前端开发 iOS开发