HTML5实现移动端复制功能


Posted in HTML / CSS onApril 19, 2018

首先遇到这个需求是就各种百度,但是发现基本都是用js实现,而且兼容性还非常不好。

但是在寻觅和尝试的过程中,发现只需要css代码也可以完全实现的,对需要复制内容的标签加上下面这几行代码就可以了。

-webkit-touch-callout: all;
-webkit-user-select: all;
-moz-user-select: all;
-ms-user-select: all;
user-select: all;

其实意思就是不限制用户对内容的操作,不禁用系统默认菜单,长按会显示系统自带的复制功能进行复制。

使用clipboard.js实现移动端粘贴复制

clipboard.js是一款很强大的粘贴复制的插件,但是在移动端使用,会出现兼容性问题。下面是我常使用的一种解决方案。

html

<input id="foo1"  value="http://www.shellad.com/_2SP__22(要复制的内容)" readonly="readonly">
<div class="the_btn_con"><button class="btn" data-clipboard-target="#foo1">复制</button></div>

js

$(function () {
       var clipboard = new Clipboard('.btn');
       //优雅降级:safari 版本号>=10,提示复制成功;否则提示需在文字选中后,手动选择“拷贝”进行复制
       clipboard.on('success', function(e) {
           alert('复制成功!')
           console.log($(this))
           e.clearSelection();
       });
       clipboard.on('error', function(e) {
           alert('请选择“拷贝”进行复制!')
       });
   })

注意我在保存要复制的内容时使用的是input控件,而不是div或者span。因为,在测试时只有input的兼容性最好,不会出现问题,能够保证正常复制。同时,该插件也不支持safari 版本号<10,所以要做好提示。
 

总结

以上所述是小编给大家介绍的HTML5实现移动端复制功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

HTML / CSS 相关文章推荐
css3学习心得分享
Aug 19 HTML / CSS
css3让div随鼠标移动而抖动起来
Feb 10 HTML / CSS
CSS3中:nth-child和:nth-of-type的区别深入理解
Mar 10 HTML / CSS
CSS3过渡transition效果实例介绍
May 03 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
Jan 17 HTML / CSS
CSS3实现的渐变幻灯片效果
Dec 07 HTML / CSS
用HTML5实现手机摇一摇的功能的教程
Oct 30 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
Jan 31 HTML / CSS
HTML5中的Scoped属性使用实例
Apr 23 HTML / CSS
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
Jan 11 HTML / CSS
Canvas系列之滤镜效果
Feb 12 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
Aug 18 HTML / CSS
canvas实现漂亮的下雨效果的示例
Apr 18 #HTML / CSS
详解Html5 监听拦截Android返回键方法
Apr 18 #HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
Apr 17 #HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
Apr 09 #HTML / CSS
canvas线条的属性详解
Mar 27 #HTML / CSS
详解canvas绘图时遇到的跨域问题
Mar 22 #HTML / CSS
canvas 下载二维码和图片加水印的方法
Mar 21 #HTML / CSS
You might like
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
php下通过POST还是GET来传值
2008/06/05 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
js 动态修改css文件的方法
2014/08/05 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
Vue获取页面元素的相对位置的方法示例
2020/02/05 Javascript
python实现斐波那契递归函数的方法
2014/09/08 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
Pytest框架之fixture的详细使用教程
2020/04/07 Python
python中的插入排序的简单用法
2021/01/19 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
PHP笔试题
2012/02/22 面试题
会计实习期自我鉴定
2013/10/06 职场文书
单位活动策划方案
2014/08/17 职场文书
绿色小区申报材料
2014/08/22 职场文书
2014年团委工作总结
2014/11/13 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
pytorch中的numel函数用法说明
2021/05/13 Python
浅谈Web Storage API的使用
2021/06/23 Javascript