繁体   English   中英

使用剪贴板.js将文本复制到剪贴板后,如何将按钮更改为“已复制!”?

[英]How do I change the button to say “Copied!” after text is copied to clipboard using clipboard.js?

以下HTML页面来自剪贴板js.com的剪贴板剪贴板演示。 我喜欢它的工作方式,突出显示文本。

但是,我要求它将按钮从显示“复制”更改为“已复制!”。 一旦用户单击了按钮,它就成功完成了复制到剪贴板的操作。

   <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>target-input</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    <body>
        <!-- 1. Define some markup -->
        <input id="foo" type="text" value="hello">
        <button class="btn" data-clipboard-action="copy" data-clipboard-target="#foo">Copy</button>

        <!-- 2. Include library -->
        <script src="../dist/clipboard.min.js"></script>

        <!-- 3. Instantiate clipboard -->
        <script>
        var clipboard = new Clipboard('.btn');

        clipboard.on('success', function(e) {
            console.log(e);
        });

        clipboard.on('error', function(e) {
            console.log(e);
        });
        </script>
    </body>
    </html>

这为我工作:

clipboard.on('success', function(e) {
    e.clearSelection();
    e.trigger.textContent = 'Copied!';
});

使用自定义事件的部分中引用本教程的内容:

  • 首先,我们使用剪贴板中的clearSelection()实用程序功能清除复制内容区域内的选择。 添加此项是可选的。
  • 然后,将内容设置为“已复制!”
clipboard.on('success', function(e) {
  document.querySelector('data-clipboard-target="#foo"').value = 'Copied!';
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM