我正在使用data-tables
,使用按钮扩展名进行客户端处理。
在网站上,我显示一个表,我需要一个函数将div中包含的一些文本复制到剪贴板。我为此目的使用此代码:
var div = document.createRange();
div.setStart(container, 0);
div.setEndAfter(container) ;
window.getSelection().addRange(div);
document.execCommand("Copy");
这一切都正常,除非我在使用我的副本到剪贴板功能之前在数据表中选择一个条目。当我在表格中选择一个条目,然后使用我的副本到剪贴板功能时,它不仅会复制我的容器中所需的文本,还会复制数据表div内容。
我想这可能是我的js函数和dataTables按钮扩展的复制到剪贴板功能之间的一些干扰,它似乎提供了复制到剪贴板功能。
对此有何想法?
答案 0 :(得分:0)
结果表明,dataTables在选择表格中的条目时会创建一个范围。 所以我检查一个范围是否已经存在,如果是 - 我删除该范围并继续创建我自己的范围。
这对我来说很好。如果有人感兴趣的话,这是代码片段:
s = window.getSelection();
if(s.rangeCount > 0) {
for(var i = 0; i < s.rangeCount; i++) {
s.removeRange(s.getRangeAt(i));
}
var div = document.createRange();
div.setStart(container, 0);
div.setEndAfter(container) ;
window.getSelection().addRange(div);
document.execCommand("Copy");
}