Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何复制输入';s值与clipboard.js_Javascript_Jquery_Html_Css_Clipboard.js - Fatal编程技术网

Javascript 如何复制输入';s值与clipboard.js

Javascript 如何复制输入';s值与clipboard.js,javascript,jquery,html,css,clipboard.js,Javascript,Jquery,Html,Css,Clipboard.js,我不知道如何在不使用ID的情况下将输入值复制到剪贴板 以下是JS: new Clipboard(".form__copy-btn", { target: function (trigger) { return $(trigger).closest(".form__field-wrapper").find("input"); } }); 我已经检查了你的密码笔。我已经做了以下更改,副本正在工作 从js中删除剪贴板js插件代码,并在js部分将itin设置添加为外

我不知道如何在不使用ID的情况下将输入值复制到剪贴板

以下是JS:

  new Clipboard(".form__copy-btn", {
    target: function (trigger) {
      return $(trigger).closest(".form__field-wrapper").find("input");
    }
  });

我已经检查了你的密码笔。我已经做了以下更改,副本正在工作

  • 从js中删除剪贴板js插件代码,并在js部分将itin设置添加为外部资源(外部资源cdn链接:)

  • 我对您的代码做了以下更改

    /** I have used text method for copy and it is working **/
    var clipboard = new Clipboard(".form__copy-btn", {
    text: function(trigger) {
            // console.log($(trigger).closest(".form__field-wrapper").find("input").val());
      return $(trigger).closest(".form__field-wrapper").find("input").val();
    }
    });
    

  • 您可以使用
    document.execCommand('copy')
    将值从输入复制到剪贴板。请参阅以检查详细信息和浏览器兼容性。

    这里发生了两件事:

  • jQuery无法使用剪贴板返回函数。我使用
    var j=$传递它

  • 您试图返回jQuery元素,而clipboard.js只接受本机js元素。使用
    text:
    ,而不是使用
    target:
    ——这样可以传递准确的文本字符串而不是元素

  • 这对我很有用:

    var j = $;
    
    _document.ready(function () {
    
    new Clipboard(".form__copy-btn", {
        text: function(trigger) {
            return j(trigger).closest(".form__field-wrapper").find("input").val();
        }
      });
    
    ...
    

    另外,我找到了另一个答案,这里是:

      new Clipboard(".form__copy-btn", {
        target: function (trigger) {
          return $(trigger).closest(".form__field-wrapper").find("input").get(0);
        }
      });
    

    但它不起作用,未捕获的TypeError:trigger.parent不是function@SilencerWeb我已经编辑了我的答案。你能在回答中做些改变并尝试一下吗?@Kashyap你在开玩笑吗?你只是抄了我的答案,在我回答一小时后编辑了你的答案?来吧@米罗,对此我很抱歉,但老实说,我不知道你已经给出了同样的解决方案。我当时正在研究codepen,一旦我得到了解决方案,我就把它贴出来,没有检查其他答案。