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中几个新增加的盒模型属性使用教程
Mar 01 HTML / CSS
CSS3制作酷炫的三维相册效果
Jul 01 HTML / CSS
css3动画效果小结(推荐)
Jul 25 HTML / CSS
HTML5中Canvas与SVG的画图原理比较
Jan 16 HTML / CSS
HTML5图片预览实例分享
Jun 04 HTML / CSS
HTML5 audio标签使用js进行播放控制实例
Apr 24 HTML / CSS
详解前端HTML5几种存储方式的总结
Dec 27 HTML / CSS
浅析HTML5中的download属性使用
Mar 13 HTML / CSS
HTML5开发动态音频图的实现
Jul 02 HTML / CSS
Html5通过数据流方式播放视频的实现
Apr 27 HTML / CSS
小程序实现悬浮按钮的全过程记录
Oct 16 HTML / CSS
HTML 里 img 元素的 src 和 srcset 属性的区别详解
May 21 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校验ISBN码的函数代码
2011/01/17 PHP
PHP 调试工具Debug Tools
2011/04/30 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
php生出随机字符串
2017/07/06 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
javascript 写类方式之三
2009/07/05 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
解决vue打包后刷新页面报错:Unexpected token
2019/08/27 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
Python WSGI的深入理解
2018/08/01 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
2019/08/07 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
Python爬虫教程知识点总结
2020/10/19 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
公司行政经理岗位职责
2013/12/24 职场文书
个人德育工作总结
2015/03/05 职场文书
《草船借箭》教学反思
2016/02/23 职场文书