将表格单元格复制到剪贴板而不使用输入标记-Javascript和html
我有一个简单的函数,它允许你点击任何表格单元格,并将数据复制到剪贴板。该单元格也会闪烁红色,让您知道它已被复制。这很好,但您会注意到每个单元格中都有一个输入标记(我发现的所有类似示例都使用了输入或其他一些表单标记),我不需要输入,因为单元格中的数据不会更改。有没有一种不用输入标签的方法可以做到这一点。普通表格单元格中的数据是否为将表格单元格复制到剪贴板而不使用输入标记-Javascript和html,javascript,html,forms,clipboard,Javascript,Html,Forms,Clipboard,我有一个简单的函数,它允许你点击任何表格单元格,并将数据复制到剪贴板。该单元格也会闪烁红色,让您知道它已被复制。这很好,但您会注意到每个单元格中都有一个输入标记(我发现的所有类似示例都使用了输入或其他一些表单标记),我不需要输入,因为单元格中的数据不会更改。有没有一种不用输入标签的方法可以做到这一点。普通表格单元格中的数据是否为innerHTML,是否可以单击复制?请不要用jQuery 函数myFunction(itemid){ var copyText=document.getElement
innerHTML
,是否可以单击复制?请不要用jQuery
函数myFunction(itemid){
var copyText=document.getElementById(itemid);
copyText.select();
文件。执行命令(“副本”);
//闪烁红色
document.getElementById(itemid).style.backgroundColor=“#FF0000”;
setTimeout(函数(){document.getElementById(itemid).style.backgroundColor=“#FFFFFF”;},300);
}
::选择{背景:无;}
输入{大纲:0;光标:指针}
试试这个,动画由你决定
let table = document.getElementById('tableId');
table.addEventListener('click', (e) => {
let target = e.target;
if(target.localName === 'td') {
let range = document.createRange();
range.selectNodeContents(target);
let sel= document.getSelection();
sel.removeAllRanges();
sel.addRange(range);
document.execCommand('copy');
sel.removeAllRanges();
target.classList.add('copy-animate');
setTimeout(() => {
target.classList.remove('copy-animate');
}, 200);
}
});
谢谢,但它不起作用,我做错了什么。我对javascript没有经验。。。。下面是代码…哦,我不知道如何在commentUncaught TypeError中显示我的代码:无法读取Null的属性'addEventListener'。是否添加了表元素an id=tableId?是的,我添加了。我肯定我在做傻事。等一下,我会把我的添加到你的密码中。。。