Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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 对于具有相同类的无限元素,如何将无限多个副本复制到剪贴板?_Javascript_Html_Jquery_Copy_Clipboard - Fatal编程技术网

Javascript 对于具有相同类的无限元素,如何将无限多个副本复制到剪贴板?

Javascript 对于具有相同类的无限元素,如何将无限多个副本复制到剪贴板?,javascript,html,jquery,copy,clipboard,Javascript,Html,Jquery,Copy,Clipboard,我的HTML: <Div Class='POSTS'> <Div Class='POST'> <Div Class='CONTENT'>Text1</Div> </Div> <Div Class='POST'> <Div Class='CONTENT'>Text2</Div> </Div> <Div Cla

我的HTML:

   <Div Class='POSTS'>
    <Div Class='POST'>
        <Div Class='CONTENT'>Text1</Div>
    </Div>
    <Div Class='POST'>
        <Div Class='CONTENT'>Text2</Div>
    </Div>
    <Div Class='POST'>
        <Div Class='CONTENT'>Text3</Div>
    </Div>
    <Div Class='POST'>
        <Div Class='CONTENT'>Text4</Div>
    </Div>
    <Div Class='POST'>
        <Div Class='CONTENT'>Text5</Div>
    </Div>
    <Div Class='POST'>
        <Div Class='CONTENT'>Text6</Div>
    </Div>
</Div>

文本1
文本2
文本3
文本4
文本5
文本6
它无限制地继续着…(永无止境) 每个元素中包含不同的文本,并具有“内容”类

我搜索了这个网站,发现了:

Https://Stackoverflow.Com/Questions/400212/How-Do-I-Copy-To-The-Clipboard-In-Javascript

但在我正在工作的项目中,我不能在每个元素上指定Id,因为您知道这些元素的数量是无限的:

<Div Class='POST'>
        <Div Class='CONTENT'>some text</Div>
    </Div>

一些文本
所以它需要自动添加

我想: 当用户用“内容”类单击元素内部的文本时(不管文本有多长,它有什么),整个文本和标签以及。。。被复制到剪贴簿上

我不想设置按钮! 我想把一切都做好

标记、文本和。。。。 每一个都可以复制,没有任何限制! 通过点击它自己的文本(假设这是一个文本区域,用户点击其中的文本,js复制所有文本,但这是一个div,其中包含文本) 如果你认为我错过了什么,而且还不够清楚,请告诉我


提前谢谢

这应该能解决你的问题。 首先选择整个对象,然后获取单击的元素。复制内容

var posts = document.querySelector(".POSTS"); 

posts
  .addEventListener("click", function (e) {
    console.log("index", e.target);
    navigator.clipboard.writeText(e.target.innerText).then(
      function () {
        console.log("Async: Copying to clipboard was successful!");
      },
      function (err) {
        console.error("Async: Could not copy text: ", err);
      }
    );
  });

没错:)谢谢你,伙计!这在所有平台上都有效吗?您可以在执行之前检查navigator.clipboard对象。否则你将不得不写一个后备方案。