javascript - 如何动态使用 Clipboard.js 和背景颜色?

标签 javascript jquery clipboard

我有一个按钮:

<button class="badge" style="background-color: #ff3333;" data-clipboard-target="#badge">RED</button>

我想使用 Clipboard.js 复制颜色。我知道我可以使用 data-clipboard-target 手动执行此操作,但我希望使用类似 their sample code 动态触发事件:

new ClipboardJS('.btn', {
text: function(trigger) {
    return trigger.getAttribute('aria-label');
}};

我尝试使用大约 100 种变体:

 new ClipboardJS(".badge", {
  text: function(trigger) {
    return $(trigger).closest(".badge").element.style.backgroundColor(); 
  }
});

但我不断收到错误:未捕获类型错误:无法读取未定义的属性“样式”

我意识到我可以使用 data-clipboard-target 并手动执行此操作,但我希望找出定位关闭的原因。谢谢

最佳答案

您必须设置data-clipboard-text,然后在文本函数中返回要复制的文本。您还可以使用 trigger.style.backgroundColor 来获取背景颜色。

new ClipboardJS(".badge", {
  text: function(trigger) {
    var result = trigger.style.backgroundColor
    return console.log(result) || result
  }
});
<script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="badge" style="background-color: #ff3333;" data-clipboard-text="">RED</button>

关于javascript - 如何动态使用 Clipboard.js 和背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51623787/

相关文章:

javascript - 正则表达式中的否定

javascript - input type=image - onclick(), 将触发其事件,但在 jquery 中的功能上效果不佳

编译剪贴板的内容

javascript - 将大型 JSON 数据从 C# Web API 发送到 Javascript 客户端

javascript - Angular - 如果 src 错误,则在指令内拼接数组

javascript - 如何使用 jQuery 增加 type=number 输入的值?

jquery - 如何在没有数据库或后端代码的情况下处理多语言网站?

javascript - 在 Rails 中,如何在 HTML 页面上将 javascript 显示为文本?

c# - 在锁定的 Windows 10 机器上的后台进程中将文本放入剪贴板

javascript - for循环内的函数