PHP前端开发

如何让HTML5实现移动端复制功能

百变鹏仔 2个月前 (10-18) #H5教程
文章标签 功能

这篇文章主要介绍了html5实现移动端复制功能,文中还给大家介绍了使用clipboard.js实现移动端粘贴复制功能的实现代码,需要的朋友参考下吧

首先遇到这个需求是就各种百度,但是发现基本都是用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"><p class="the_btn_con"><button class="btn" data-clipboard-target="#foo1">复制</button></p>

js

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

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