如何将html表的文本复制到剪贴板?

时间:2018-10-23 18:31:45

标签: javascript html angularjs

我通过在单独的angularjs文件中使用.js功能将数据绑定到html表。我想复制这些有界文本数据并将其粘贴到任何文本文档中的位置,方法是单击下面的输入按钮。

<button type="button" class="btn" ng-click="selectElementContents();"></button>

和在角度控制器中编写的功能如下。

$scope.selectElementContents = function () {
        copyTblData();        
    }
function copyTblData() {
        var copyText = document.getElementById('tablerecords');
        $('#tablerecords').focus();
        $('#tablerecords').select();
        document.execCommand('copy');            
    }

我在做无法理解的错误时,请务必提出建议。

1 个答案:

答案 0 :(得分:1)

对于选择数据,您必须使用范围并选择。 您可以尝试:

let table = document.querySelector('#testTable');
let button = document.querySelector('#button');
function selectNode(node){
  let range  =  document.createRange();
  range.selectNodeContents(node)
  let select =  window.getSelection()
  select.removeAllRanges()
  select.addRange(range)
}
button.addEventListener('click',function(){
  selectNode(table);
  document.execCommand('copy')
  
})
td{
   border:1px solid black;
}
<table collapsed id = 'testTable'>
 <tr>
   <td>test</td>
    <td>test</td>
  </tr><tr>
   <td>test</td>
    <td>test</td>
  </tr>
</table>
<br/>
<button id = "button">select</button>