Zeroclipboard-rails 不工作但没有错误

Zeroclipboard-rails not working but no error

我正在尝试在我的项目中使用 Zeroclipboard(通过 gem zeroclipboard-rails),但它不起作用而且我没有错误。

这是我的脚本:

$(document).on("ready page:change", function () {
  var client = new ZeroClipboard($("#copyToClipboard"));

  client.on("complete", function (client, args) {
    alert("Text successfully copied");
  });
});

$(document).on("page:before-change", function () {
  ZeroClipboard.destroy();
});

我也试过:

$(document).on("ready page:change", function () {
  var client = new ZeroClipboard($("#copyToClipboard"));

  client.on("load", function (client) {
    client.on("complete", function (client, args) {
      alert("Text successfully copied");
    });
  });
});

$(document).on("page:before-change", function () {
  ZeroClipboard.destroy();
});

我可以记录 client 变量,但 complete 事件中什么也没有。

我找到了这个文档:https://github.com/zeroclipboard/zeroclipboard/blob/master/docs/api/ZeroClipboard.md

所以我尝试用 ready 替换 load,然后用 aftercopy 替换 complete 但没有效果...

我的苗条代码:

#contentForClipboard.d-none
  = simple_format(h proposition.content)

[...]

= button_tag id: 'copyToClipboard', 'data-clipboard-target' => 'contentForClipboard', class: "btn btn-light btn-sm clip_button" do
  => fa_icon('fas', 'clipboard')
  | Copy

zeroclipboard 依赖于 Adob​​e Flash,它正在逐步淘汰(计划于 2020 年停产),并且在现代浏览器中默认情况下已不启用。

您可以尝试像 clipboard.js 这样依赖现代浏览器支持(SelectionexecCommand)并且不需要任何 flash 的库。