第一種: 自己測試時 只適合於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>