第一种: 自己测试时 只适合于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);//获取光标起始位置到结束位置elsetextarea.select();try {var flag = document.execCommand("copy");//执行复制} catch(eo) {var flag = false;}document.body.removeChild(textarea);//删除元素currentFocus.focus();return flag;} </script>