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写的模仿iPhone中的返回按钮
Apr 04 HTML / CSS
初探CSS3中的calc()功能
Jul 14 HTML / CSS
css3 border旋转时的动画应用
Jan 22 HTML / CSS
CSS3之2D与3D变换的实现方法
Jan 28 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
Feb 10 HTML / CSS
HTML5画渐变背景图片并自动下载实现步骤
Nov 18 HTML / CSS
HTML5之语义标签介绍
Jul 07 HTML / CSS
HTML5拖拽API经典实例详解
Apr 20 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
Dec 03 HTML / CSS
使用canvas实现黑客帝国数字雨效果
Jan 02 HTML / CSS
如何通过 CSS 写出火焰效果
Mar 24 HTML / CSS
html网页引入svg图片的4种方式
Aug 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把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
js中小数转换整数的方法
2014/01/26 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
美国零售商店:Blue&Cream
2017/04/07 全球购物
高级运动鞋:GREATS
2019/07/19 全球购物
laravel使用redis队列实例讲解
2021/03/23 PHP
计算机专业个人求职信范例
2013/09/23 职场文书
五一劳动节活动记录
2014/03/23 职场文书
医德医风演讲稿
2014/05/20 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
职工食堂管理制度
2015/08/06 职场文书
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers
Django框架之路由用法
2022/06/10 Python
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技