我需要复制〜p〜标记内的文本,我尝试使用此代码:
HTML:
<p id="copy">Text to copy</p>
<button onclick="copyFunction()">Copy text</button>
JS:
function copyFunction() {
var textToCopy = document.getElementById("copy");
textToCopy.select();
document.execCommand("copy");
alert("Copied the text: " + textToCopy.value);
}
但是没有用。
答案 0 :(得分:2)
function copyFunction()
{
var $temp = $("<input>");
$("body").append($temp);
$temp.val($('#copy').text()).select();
document.execCommand("copy");
$temp.remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="copy">Text to copy</p>
<button onclick="copyFunction()">Copy text</button>
答案 1 :(得分:0)
您也可以使用window.clipboardData.setData("text/plain", Your text from p tag);
答案 2 :(得分:0)
您可以这样走。未经测试,但可以工作。
const ptag = document.querySelector("p");
ptag.onclick = function() {
document.execCommand("copy");
}
ptag.addEventListener("copy", function(event) {
event.preventDefault();
if (event.clipboardData) {
event.clipboardData.setData("text/plain", ptag.textContent);
console.log(event.clipboardData.getData("text"))
}
});
现在单击<p>
标签。该标签中的文本将被复制到剪贴板。