传递给函数的值不会被复制

时间:2019-07-09 08:42:07

标签: javascript php jquery

我将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的值未定义,而不是书本代码中的值

1 个答案:

答案 0 :(得分:0)

仅当直接从用户执行命令时,复制到剪贴板功能才起作用,这意味着document.execCommand('copy');命令必须位于直接与事件侦听器绑定的函数中。