!
也想出现在这里? 联系我们
广告位

通过JS实现一键复制指定内容教程

经常会见到网站上各种“一键复制”的友好体验按钮,不局限于 code 的复制,这样友好的体验,方便快捷的操作对访客来说百利无一害。在网上搜索了一番关于“JS 实现一键复制”的文章数不胜数啊。用得较多的就是通过 clipboard.min.js 来实现复制,毕竟现在 Flash 在各浏览器中被禁用等等各种不友好。今天分享一个实用的功能,通过点击事件复制一段文本到剪切板,在网上找了一些,整理了一下,方便需要的朋友使用。

方法一

  1. <a id="copy" data-text="123456">复制文本</a>
  2. <script type="text/javascript">
  3. $(function(){
  4. var clipboard = new Clipboard('#copy',{
  5. text: function(trigger) {
  6. alert("复制成功!");
  7. return trigger.getAttribute('data-text');
  8. }
  9. });
  10. });
  11. </script>

方法二

  1. <div>
  2. <span id="copyMy"> 复制我试试</span>
  3. <button onClick="copyFn()">点击复制</button>
  4. </div>
  5. <script>
  6. function copyFn() {
  7. var val = document.getElementById('copyMy');
  8. window.getSelection().selectAllChildren(val);
  9. document.execCommand("Copy");
  10. alert("已复制好,可贴粘。");
  11. }
  12. </script>

方法三

  1. <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
  2. <script type="text/javascript" src="js/jquery.zclip.min.js"></script>
  3. <div class="copybox clearfix">
  4. <div class="copybox-n1 clearfix">
  5. <div style="width:232px;float:left;height:36px;overflow:hidden;zoom:1">
  6. <input type="text" id="mytxt1" value="点击右侧复制按钮复制" class="n1input">
  7. </div>
  8. <div style="width: 48px; height: 36px; position: absolute; margin-left: 232px;*margin-left:0px;_margin-left: 0">
  9. <button id="copy_input1" class="n1-btn">复制</button>
  10. </div>
  11. </div>
  12. <div class="copybox-n2 clearfix">
  13. <div style="width:232px;float:left;height:36px;overflow:hidden;zoom:1">
  14. <input type="text" id="mytxt2" value="点击右侧复制按钮复制" class="n1input">
  15. </div>
  16. <div style="width: 48px; height: 36px; position: absolute; margin-left: 232px;*margin-left:0px; _margin-left:0">
  17. <button id="copy_input2" class="n1-btn">复制</button>
  18. </div>
  19. </div>
  20. </div>
  21. <script type="text/javascript">
  22. $(function() {
  23. /*复制*/
  24. $('#copy_input1').zclip( {
  25. path : 'js/ZeroClipboard.swf',
  26. copy : function() {return $('#mytxt1').val();/*复制内容*/},
  27. afterCopy : function() {alert("复制成功");/*复制成功*/}
  28. });
  29. /*复制*/
  30. $('#copy_input2').zclip( {
  31. path : 'js/ZeroClipboard.swf',
  32. copy : function() {return $('#mytxt2').val();/*复制内容*/},
  33. afterCopy : function() {alert("复制成功");/*复制成功*/}
  34. });
  35. });
  36. </script>

方法四

1、下载 clipboard.js 文件。clipboard.js 是一个 github 上的开源项目,可以实现纯 JavaScript (无 Flash)的浏览器内容复制到系统剪贴板的功能。

2、将以下代码放在 footer.php 中,其中 clipboard.min.js 路径请自行修改。

  1. <script src="JS路径" type="text/javascript"></script>
  2. <script>
  3. var clipboard = new Clipboard( '.itemCopy' );
  4. clipboard.on('success', function(e){
  5. if(e.trigger.disabled == false ||
  6. e.trigger.disabled == undefined) {
  7. e.trigger.innerHTML="复制成功";
  8. e.trigger.disabled = true;
  9. setTimeout(function() {
  10. e.trigger.innerHTML="一键复制";
  11. e.trigger.disabled = false;
  12. },2000);
  13. }
  14. });
  15. clipboard.on('error', function(e) {
  16. e.trigger.innerHTML="复制失败";
  17. });
  18. </script>

3、在 header.php 头部引入以下 amazeui.css 文件。以下 amazeui-2.css 文件引入的是无删减版,大家也可以使用压缩包里面的 amazeui.css 文件,自行选择即可。

  1. <link rel="stylesheet" href="https://tu2.aitao779.com/amazeui-2.css ">

4、在文章中引用按钮代码。在编写文章的时候,将代码放在合适的位置,把 data-clipboard-text 的值“复制的内容”修改成指定的内容即可。

  1. <button class="itemCopy am-btn am-btn-warning am-round am-btn-xs" id="TKLS" type="button" data-clipboard-text="复制的内容">一键复制</button>

到这里差不多就完成了,说实话我自己都觉得有点粗糙。但是在摸索的路上收获颇多。也希望路过的大佬们,来指点和优化下代码,做出更好更方便的复制功能。

给TA打赏
共{{data.count}}人
人已打赏
前端学习

使用jQuery设置指定时间后页面元素隐藏

2024-7-19 14:48:40

前端学习

网站侧边添加梅花飘落特效

2024-7-19 14:48:47

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索