zoukankan      html  css  js  c++  java
  • js复制文本

    第一种:  自己测试时  只适合于input 和textarea 但是针对于其他标签的复制就不能用了。代码如下:
    
    <!DOCTYPE html>
    <html>
    
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title></title>
            <meta charset="utf-8" />
        </head>
    
        <body>
            <input id="daima" value="11111">11111</input>
            <input type="button" id="Copy" value="点击复制代码" />
        </body>
    
    </html>
    <script src="js/jquery-1.8.3.min.js"></script>
    <script type="text/javascript">
        $("#Copy").click(function() {
            var copyText = $("#daima");//获取对象
            copyText .select();//选择
            document.execCommand("Copy");//执行复制
         alert("复制成功!");
        })
    
        
    </script>
    
    上述代码如果为了美观需要写一部分代码进行处理输入框的样子;但是个人感觉要比第二种的代码要少一部分。
    
    第二种:  适用所有的标签,进行把内容传递到创建的input对象当中,进行处理复制的操作,相比第一种要写不少js。测试代码如下:
    <!DOCTYPE html>
    <html>
    
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title></title>
            <meta charset="utf-8" />
        </head>
    
        <body>
            <span id="daima">11111</span>
            <input type="button" id="Copy" value="点击复制代码" />
        </body>
    
    </html>
    <script src="js/jquery-1.8.3.min.js"></script>
    <script type="text/javascript">
        $("#Copy").click(function() {
            var ssrsss = $("#daima").text();//获取文本
            var flag = copyText(ssrsss); //传递文本
            alert(flag ? "复制成功!" : "复制失败!");
        })
    
        function copyText(text) {
            var textarea = document.createElement("input");//创建input对象
            var currentFocus = document.activeElement;//当前获得焦点的元素
            document.body.appendChild(textarea);//添加元素
            textarea.value = text;
            textarea.focus();
            if(textarea.setSelectionRange)
                textarea.setSelectionRange(0, textarea.value.length);//获取光标起始位置到结束位置
            else
                textarea.select();
            try {
                var flag = document.execCommand("copy");//执行复制
            } catch(eo) {
                var flag = false;
            }
            document.body.removeChild(textarea);//删除元素
            currentFocus.focus();
            return flag;
        }
    </script>
  • 相关阅读:
    「UVA12293」 Box Game
    「CF803C」 Maximal GCD
    「CF525D」Arthur and Walls
    「CF442C」 Artem and Array
    LeetCode lcci 16.03 交点
    LeetCode 1305 两棵二叉搜索树中的所有元素
    LeetCode 1040 移动石子直到连续 II
    LeetCode 664 奇怪的打印机
    iOS UIPageViewController系统方法崩溃修复
    LeetCode 334 递增的三元子序列
  • 原文地址:https://www.cnblogs.com/supe/p/11329476.html
Copyright © 2011-2022 走看看