单击后复制锚标记的链接

时间:2018-11-19 06:05:49

标签: jquery

这是我用来显示某些数据的代码。在此代码中,我具有锚标记,并且我想复制该锚标记的链接。这是我使用的代码,如下所示:

<div class="search_item_list clearfix" id="response">
   <?php foreach($jobs as $job){
   ?>
    <a class="copy_text"  data-toggle="tooltip" title="Copy to Clipboard" 
       href="<?=base_url().'home/company_profile_detail?id='.$job['company_id'];?>"><span class="icon link"><i class="fa fa-link"></i></span>Copy Link</a>
    <?php } ?>
</div>

<script>
   $(".copy_text").click(function(e){
      e.preventDefault();
      var button = $(this);
      var text = button.attr("href");
      text.select();
      $(document).execCommand("copy");
      alert("Copied the text ");
   })
</script>

我将jQuery升级为

  

text.select不是函数。

4 个答案:

答案 0 :(得分:-1)

通过javascript将值复制到剪贴板是一个复杂的过程。基本上,您必须创建伪造的Input元素并将其用于execCommand('copy')。您可以在以下模块中查看其工作方式:https://github.com/zenorocha/clipboard.js

答案 1 :(得分:-1)

您可以使用它。

$(".copy_text").click(function (e) {
                    e.preventDefault();
                    var $temp = $("<input>");
                    $("body").append($temp);
                    $temp.val($(this).attr('href')).select();
                    document.execCommand("copy");
                    $temp.remove();
                    alert("Copied the text ");
            })

在此代码中,您正在创建一个input,将其value设置为anchor的{​​{1}},并将其href复制到{{1 }},然后value那个clipboard

答案 2 :(得分:-1)

尝试下面的代码段

$('.copy_text').click(function (e) {
   e.preventDefault();
   var copyText = $(this).attr('href');
   document.addEventListener('copy', function(e) {
    e.clipboardData.setData('text/plain', copyText);
    e.preventDefault();
   }, true);
   document.execCommand('copy');  
   console.log('copied text : ', copyText);
   alert('copied text: ' + copyText); 
 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

 <a class="copy_text"  data-toggle="tooltip" title="Copy to Clipboard" href="home/company_profile_detail"><span class="icon link"><i class="fa fa-link"></i></span>Copy Link</a>

答案 3 :(得分:-1)

https://jsfiddle.net/jfriend00/v9g1x0o6/,请访问此以获取复制文本。

var succeed;
try {
      succeed = document.execCommand("copy");
} catch(e) {
    succeed = false;
}

在这种情况下,您必须先选择锚文本的href属性,然后使用 document.execCommand(“ copy”);