因此,我有一个CPT,并且在后端中添加了一些“自定义列”。我在侧面有这个按钮,它应该复制标题。我为此使用Javascript,但无法正常工作。
function myFunction() {
var copyText = document.getElementById("clickTitle");
copyText.select();
document.execCommand("copy");
alert("Copied the text: " + copyText.value);
}
.click-title{
display: none;
}
echo the_title( '<h4 class="click-title" id="clickTitle">', '</h4>' );
echo '<button class="btn btn-danger btn-sm" onclick="copyFunction()">Copy Title</button>';
但是它不起作用。我想要按钮复制标题,但找不到解决方法。我尝试了更多。
(Click here to view image) I want to copy the title when I click Copy Title button.
答案 0 :(得分:1)
选择仅适用于输入文本字段元素
因此,在标题旁边设置一个input
隐藏字段。
function copyFunction() {
var copyText = document.getElementById("clickTitle");
copyText.select();
document.execCommand("copy");
alert(copyText.value);
}
<h4 class="click-title">This is the title to be copied.</h4>
<input id="clickTitle" type="text" value="This is the title to be copied">
<button class="btn btn-danger btn-sm" onclick="copyFunction()">Copy Title</button>
要在循环中工作,应该做一些改动。
为每个输入字段提供唯一的ID:
<input id="clickTitle-<?php echo $post_id; ?>" type="text" value="This is the title to be copied">
通过传递所需的ID来调用该方法:
<button class="btn btn-danger btn-sm" onclick="copyFunction(<?php echo $post_id; ?>)">Copy Title</button>
然后更新功能以查找正确的ID。
function copyFunction( elId ) {
var copyText = document.getElementById("clickTitle-" + elId );
...
}