只能在第二次单击时复制到剪贴板

Posted

技术标签:

【中文标题】只能在第二次单击时复制到剪贴板【英文标题】:Can only get copy to clipboard on second click 【发布时间】:2016-08-08 03:38:21 【问题描述】:

我在做什么

我正在使用 clipboard.js 将 URL 复制到剪贴板。

所以我首先在 php 中渲染一些 html。代码如下所示:

$copyToClipboard = "copyToClipboard(".$id.");";
echo "<a id='get-link-$id' class='small-button get-link' onclick='$copyToClipboard' data-clipboard-text='myText'><u>Get Link</u></a>";

这是在我的页面顶部,&lt;script&gt; 标记之前完成的。

下面是我的脚本中的内容:

new Clipboard(".get-link"); // initialize clipboard elements
$(function() 
    new Clipboard(".get-link"); // initialize clipboard elements
);

function copyToClipboard(id) 
    new Clipboard(".get-link");
    new Clipboard("#get-link-" + id);
    $("#get-link-" + id).text("Copied!");
    setTimeout(function() $("#get-link-" + id).text("Get Link"); , 2000);

我重复使用 new Clipboard(".get-link"); 以使其正常工作。

这段代码所做的只是将链接复制到剪贴板,然后将文本更改 2 秒钟,然后再更改回来。

问题

它只在点击a标签后将链接复制到剪贴板。我不知道为什么。

编辑

出于某种原因,this JS Fiddle 显示我的代码正常工作。不知道为什么它在我的网站上不起作用。

【问题讨论】:

我也遇到过这个问题...... @ManinderpreetSingh 目标/触发方法对我不起作用。 您找到解决此问题的方法了吗?我正在遭受同样的事情......在小提琴中工作,但不在我的网站上。 @wonza 不幸的是没有。这似乎是他们的问题。 您的网站上有 SiteCatalyst 吗?或任何其他事件跟踪代码?我刚刚意识到这是导致我出现问题的原因.. 还不太清楚如何解决它,因为我们仍然需要在页面上进行跟踪 【参考方案1】:

也许您没有准备好使用文档?这是更多链接的工作解决方案:

$(document).ready(function()
    new Clipboard(".get-link"); // initialize clipboard elements
);

https://jsfiddle.net/j8yLssy9/11/

【讨论】:

$(function () );$(document).ready(function () ); 相同

以上是关于只能在第二次单击时复制到剪贴板的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮复制到剪贴板

CAD无法复制到剪贴板怎么解决?

如何获取文本文件的内容并将其复制到剪贴板?

单击按钮时在剪贴板中复制文本区域的文本

处理文件行流迭代器

如何使用 jquery 将内容复制到剪贴板