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弹性盒模型开发笔记(三)
Apr 26 HTML / CSS
利用CSS3的线性渐变linear-gradient制作边框的示例
Jun 02 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
Jan 07 HTML / CSS
html5 input属性使用示例
Jun 28 HTML / CSS
深入浅析HTML5中的SVG
Nov 27 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
Mar 25 HTML / CSS
Html5实现用户注册自动校验功能实例代码
May 24 HTML / CSS
10个最常见的HTML5面试题 附答案
Jun 06 HTML / CSS
浅谈移动端网页图片预加载方案
Nov 05 HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
Oct 08 HTML / CSS
纯html+css实现打字效果
Aug 02 HTML / CSS
浅析CSS在DevTools 中架构演变
Oct 05 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
也谈php网站在线人数统计
2008/04/09 PHP
php长字符串定义方法
2012/07/12 PHP
ThinkPHP应用模式扩展详解
2014/07/16 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
onpropertypchange
2006/07/01 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
jQuery插件jPaginate实现无刷新分页
2015/05/04 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019/05/21 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
2019/11/04 jQuery
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
Python中for循环详解
2014/01/17 Python
python回调函数用法实例分析
2015/05/09 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Python实现序列化及csv文件读取
2020/01/19 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
TripAdvisor印尼站:全球领先的旅游网站
2018/03/15 全球购物
签约仪式主持词
2014/03/19 职场文书
宣传活动总结范文
2014/07/01 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python