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 16 HTML / CSS
CSS3 实现弹幕的示例代码
Aug 07 HTML / CSS
canvas实现俄罗斯方块的方法示例
Dec 13 HTML / CSS
html5 分层屏幕适配的方法
Mar 16 HTML / CSS
仿CSDN Blog返回页面顶部功能实现原理及代码
Jun 30 HTML / CSS
详解移动端Html5页面中1px边框的几种解决方法
Jul 24 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
Feb 13 HTML / CSS
3种方式实现瀑布流布局小结
Sep 05 HTML / CSS
使用HTML5做的导航条详细步骤
Oct 19 HTML / CSS
如何在CSS中绘制曲线图形及展示动画
May 24 HTML / CSS
前端使用svg图片改色实现示例
Jul 23 HTML / CSS
使用CSS实现六边形的图片效果
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
Protoss建筑一览
2020/03/14 星际争霸
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
修改file按钮的默认样式实现代码
2013/04/23 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
javascript常用功能汇总
2015/07/05 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
angularjs点击图片放大实现上传图片预览
2017/02/24 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
幼儿园教研活动总结
2014/04/30 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang