移动端H5不能自由选中文本进行复制的问题

简介: 移动端H5不能自由选中文本进行复制的问题


前言

在写微信公众号H5的时候,发现在移动端上,H5没办法自由选中文本进行文字复制。这实际上是由于微信浏览器和其他的移动端浏览器默认给元素添加了user-select: none;属性造成的。既然知道是这个原因造成的,那么我们通过修改user-select属性即可解决问题

user-select介绍以及兼容性

user-select有none、auto、text、contain、all、inherit、initial、unset8个属性

/* Keyword values */
user-select: none; //不可选中
user-select: auto; //自动
user-select: text; //文本可选中
user-select: contain; // 允许在元素内选择;但是,选区将被限制在该元素的边界之内。
user-select: all; //在一个HTML编辑器中,当双击子元素或者上下文时,那么包含该子元素的最顶层元素也会被选中。
/* Global values */
user-select: inherit;
user-select: initial;
user-select: unset;
/* Mozilla-specific values */
-moz-user-select: none;
-moz-user-select: text;
-moz-user-select: all;
/* WebKit-specific values */
-webkit-user-select: none;
-webkit-user-select: text;
-webkit-user-select: all; /* Doesn't work in Safari; use only  "none" or "text", or else it willallow typing in the <html> container */
/* Microsoft-specific values */
-ms-user-select: none;
-ms-user-select: text;
-ms-user-select: element;
-moz-     /* 火狐等使用Mozilla浏览器引擎的浏览器 */
-webkit-  /* Safari, 谷歌浏览器等使用Webkit引擎的浏览器 */
-o-       /* Opera浏览器(早期) */
-ms-      /* Internet Explorer (不一定) */

解决办法

通过设置user-select: all;即可放开限制,让H5的文本能够自由选中文字复制。但是我们也需要注意兼容性问题。

user-select: all;
-moz-user-select: all;
-webkit-user-select: all;
-ms-user-select: all;
-ms-user-select: all;
目录
打赏
0
0
0
0
12
分享
相关文章
记录一下前端H5的复制功能在ios端的兼容性问题
记录一下前端H5的复制功能在ios端的兼容性问题
1159 0
TDesign电商小程序模板解析01-自定义底部导航栏(二)
TDesign电商小程序模板解析01-自定义底部导航栏(二)
新一代开源配置中心 - Apollo
Apollo(阿波罗)是携程框架部门研发的配置管理平台,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。
27635 0
|
9月前
Cesium添加3DTile
这篇文章介绍了如何在Cesium中添加3DTile内容,以增强三维地理空间数据的表现,并提供了实现的具体步骤和代码示例。
232 1
Cesium添加3DTile
Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)
这篇文章介绍了在Vue移动端网页中使用`pdfh5`和`vue-pdf`两个插件来实现PDF文件的预览,包括滚动查看、缩放、添加水印、分页加载、跳转指定页数等功能。
6904 1
Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)
【阿里云OSS】You have no right to access this object because of bucket acl.
【阿里云OSS】You have no right to access this object because of bucket acl.
16619 1
【阿里云OSS】You have no right to access this object because of bucket acl.
如何从 Python 中的字符串列表中删除特殊字符?
如何从 Python 中的字符串列表中删除特殊字符?
513 0
使用 Docker Compose 部署单机版 Redis:简单高效的数据缓存与存储
家人们啦!今天我们来介绍如何使用 docker-compose 部署单机版 Redis,这是一个简单高效的数据缓存与存储解决方案,广泛应用于Web应用、移动应用以及各类数据处理场景。我们过后几篇文章了将会介绍cluster和sentinel集群的部署。通过本文的指导,你将能够快速上手并体验 Redis 在你的应用中所带来的便捷性与高性能。废话不多说,让我们开始吧!
8345 1
使用 Docker Compose 部署单机版 Redis:简单高效的数据缓存与存储
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等