4 回答
TA贡献1895条经验 获得超7个赞
好的,我对您的代码做了一些调整,但它现在应该可以工作了。
<!DOCTYPE HTML>
<html dark= "true" style="font-size: 50px;font-family: Roboto, Arial, sans-serif">
<body>
<textarea id="copytext">ROGER</textarea>
<div class="button" id="adadad">
<button onclick="copyS()" id="dlld">Copy text</button>
</div>
<p> </p>
<!-- removed the single " at the end of your script tag -->
<script type=text/javascript>
//added () after you declared your function
function copyS(){
clicked = document.getElementById("dlld");
//added .id to clicked. Not sure why you need to do this, but it works now
if ("dlld" == clicked.id){
var am1 = document.getElementById("copytext");
//you need to select before running the .execCommand
am1.select();
document.execCommand("copy");
}
}
</script>
<p> </p>
</body>
</html>
TA贡献1827条经验 获得超8个赞
看来您需要select()首先从文本区域获取文本。尝试将您的功能更改为:
function copyS{
var clicked = document.getElementById("dlld");
//if ("dlld" == clicked){ //Not sure you need this
var am1 = document.getElementById("copytext");
am1.select();
document.execCommand("copy");
//}
}
希望有帮助!
TA贡献1820条经验 获得超10个赞
我已经更改了您的代码来完成这项工作。
var copiedText = "";
document.querySelector("button").onclick = function(e) {
copiedText = e.target.previousElementSibling.value;
document.execCommand("copy");
}
document.body.oncopy = function(e) {
event.clipboardData.setData('text/plain', copiedText);
event.preventDefault();
};
body {
font-size: 50px;
font-family: Roboto, Arial, sans-serif;
}
<textarea>ROGER</textarea>
<button>Copy</button>
TA贡献1858条经验 获得超8个赞
尝试这个
(<button id="demo" onclick="copyToClipboard(document.getElementById('demo').innerHTML)">This is what I want to copy</button>)
(<script>
function copyToClipboard(text) {
window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
}
</script>)
- 4 回答
- 0 关注
- 151 浏览
添加回答
举报