这是我用来显示某些数据的代码。在此代码中,我具有锚标记,并且我想复制该锚标记的链接。这是我使用的代码,如下所示:
<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不是函数。
答案 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”);