2017-10-05 67 views
0

我生成多個div與每個內部不同的信息,我試圖有一個按鈕,將複製div的內容。document.execCommand複製所有,但一個部分

下面的代碼將複製div中的所有內容,包括按鈕的文本。

<script type="text/javascript"> 
function copyText(event) { 
    try { 
     var element = event.parentNode; 
     if (document.body.createTextRange) { // ie 
      var range = document.body.createTextRange(); 
      range.moveToElementText(element); 
      range.select(); 
      document.execCommand("Copy"); 
      //setInterval(function() { selection.removeAllRanges(); }, 1000); 
      alert('Copied successfully'); 
     } else if (window.getSelection) { // moz, opera, webkit 
      var selection = window.getSelection(); 
      var range = document.createRange(); 
      range.selectNodeContents(element); 
      selection.removeAllRanges(); 
      selection.addRange(range); 
      document.execCommand("Copy"); 
      selection.removeAllRanges(); 
      //setInterval(function() { selection.removeAllRanges(); }, 1000); 
      alert('Copied successfully'); 
     } 
    } 
    catch (e) { 
     alert('Not copied successfully - ' + e.message); 
    } 
} 
</script> 



<div class="divCard"> 
    Value1: <%=result("Value1")%><br /><br /> 
    Value2: <%=result("Value2")%><br /><br /> 
    <input type="button" id="btnCopytext" onclick="copyText(this)" value="Copy Text" /> 
</div> 

電流輸出:

Val1 
Val2 
Copy Text 

所需的輸出:

Val1 
Val2 

我如何可以複製以外的所有文字BTN?

另外,有沒有辦法修剪被複制的末尾的空格?

回答

0

如何將您想要複製的內容封裝在一個ID中並傳遞該元素進行復制?

<div class="divCard"> 
    <div id='copythis'> 
     Value1: <%=result("Value1")%><br /><br /> 
     Value2: <%=result("Value2")%><br /><br /> 
    </div> 

    <input type="button" id="btnCopytext" value="Copy Text" /> 
</div> 

JS:

function copyText(event) { 
    try { 
     var element = document.getElementById("copythis"); 
     if (document.body.createTextRange) { // ie 
      var range = document.body.createTextRange(); 
      range.moveToElementText(element); 
      range.select(); 
      document.execCommand("Copy"); 
      alert('Copied successfully'); 
     } else if (window.getSelection) { // moz, opera, webkit 
      var selection = window.getSelection(); 
      var range = document.createRange(); 
      range.selectNodeContents(element); 
      selection.removeAllRanges(); 
      selection.addRange(range); 
      document.execCommand("Copy"); 
      selection.removeAllRanges(); 
      alert('Copied successfully'); 
     } 
    } 
    catch (e) { 
     alert('Not copied successfully - ' + e.message); 
    } 
} 

document.getElementById("btnCopytext").addEventListener("click",copyText) 
相關問題