我将HTML的值传递给每个项目的函数,并且每次函数应显示代码,复制代码并在新窗口中打开URL。当前它会显示并打开新窗口,但我无法复制所显示的代码!
function show_code(num, url, bookcode) {
document.getElementById('revealedcode-' + num).style.display = '';
document.getElementById('hiddencode-' + num).style.display = 'none';
document.getElementById('codebox').style.display = 'none';
$("#codebox").text(bookcode);
var copytext = $("#codebox").text(bookcode)
copytext.select();
document.execCommand("copy");
alert("Copied the text: " + copytext.value);
window.open(url);
}
html是
<div class="right-pad clickbtn">
<a id="hiddencode-<?php echo $i; ?>" href="#" onclick="show_code(<?php echo $i; ?>,'<?php echo $link ;?>','<?php echo $bookcode; ?>');">Show Code </a>
<a id="revealedcode-<?php echo $i; ?>" style="display:none;" href="<?php echo $link ;?>"><?php echo $bookcode; ?></a>
</div>
<div id="codebox"></div>
我希望将bookcode
复制并显示出来并打开传递给函数的url,目前,对于警报它显示的是copytext.value的值未定义,而不是书本代码中的值
答案 0 :(得分:0)
仅当直接从用户执行命令时,复制到剪贴板功能才起作用,这意味着document.execCommand('copy');
命令必须位于直接与事件侦听器绑定的函数中。