【问题标题】: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 吗?或任何其他事件跟踪代码?我刚刚意识到这是导致我出现问题的原因.. 还不太清楚如何解决它,因为我们仍然需要在页面上进行跟踪

标签: javascript php clipboard.js


【解决方案1】:

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

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

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

【讨论】:

  • $(function () {});$(document).ready(function () {}); 相同
猜你喜欢
  • 2014-04-30
  • 2017-09-17
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 2021-04-03
  • 1970-01-01
相关资源
最近更新 更多