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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 复制论坛HTML文本框上的所有脚本_Javascript_Html_Forum - Fatal编程技术网

Javascript 复制论坛HTML文本框上的所有脚本

Javascript 复制论坛HTML文本框上的所有脚本,javascript,html,forum,Javascript,Html,Forum,我试图编写一个HTML文本框,用一个按钮复制特定div类的所有文本内容 代码确实复制文本,但是,它复制整个页面的文本(论坛上的多个帖子),而不是感兴趣的一个帖子。有没有办法阻止它这样做 我下面的代码到目前为止, 非常感谢你的帮助 复制 代码: 函数copyText(){ var outputText=“”; var targets=document.getElementsByClassName('codebox'); 对于(变量i=0;i

我试图编写一个HTML文本框,用一个按钮复制特定div类的所有文本内容

代码确实复制文本,但是,它复制整个页面的文本(论坛上的多个帖子),而不是感兴趣的一个帖子。有没有办法阻止它这样做

我下面的代码到目前为止, 非常感谢你的帮助


复制
代码:

函数copyText(){ var outputText=“”; var targets=document.getElementsByClassName('codebox'); 对于(变量i=0;i
这是您需要的示例,它将
.codebox
中的内容复制到剪贴板上

HTML 样本:

更新 要从按钮所在的特定区域获取文本(或html),使用您提供的html,您可以执行类似的操作,请注意,我使用了一个隐藏的
textarea
,因此我们仍然可以使用
document.execCommand('copy')

HTML 样本:
这是您需要的示例,它将
.codebox
中的内容复制到剪贴板上

HTML 样本:

更新 要从按钮所在的特定区域获取文本(或html),使用您提供的html,您可以执行类似的操作,请注意,我使用了一个隐藏的
textarea
,因此我们仍然可以使用
document.execCommand('copy')

HTML 样本:

您只是想将文本复制到id
输出中吗。我正在尝试将div类代码框的单个实例(不是网页上的所有实例)中包含的文本复制到剪贴板,以便将其粘贴到另一个程序中。您是否正在尝试将文本复制到id
输出
?您好。我正在尝试将div类代码框的单个实例(不是网页上的所有实例)中包含的文本复制到剪贴板,以便我可以将其粘贴到另一个程序中。您好,这不会完全起作用,因为OP的问题是它从整个页面复制。感谢您的示例,我宁愿不使用textarea,因为我为我创建的代码盒定制了一些CSS。textarea类和div类是否可以互换@LFlare,从google发现的情况来看,queryselector方法似乎只返回第一个实例(这可能在我的应用程序中也可能有效)@Calico我已经更新了我的答案,其中包括一种更动态的获取文本的方法,使用按钮作为参考点。@MattWebb感谢更新。这似乎对我这方面不起作用。请看我附加的小提琴与CSS添加。我已经添加了要复制的示例文本,对您有用吗@印花布这对我有用。您是否专门尝试将此数据复制到剪贴板?你到底想做什么?您好,这不会完全起作用,因为OP的问题是它会从整个页面复制。感谢这个例子,我不想使用textarea,因为我为我创建的代码盒提供了一些自定义CSS。textarea类和div类是否可以互换@LFlare,从google发现的情况来看,queryselector方法似乎只返回第一个实例(这可能在我的应用程序中也可能有效)@Calico我已经更新了我的答案,其中包括一种更动态的获取文本的方法,使用按钮作为参考点。@MattWebb感谢更新。这似乎对我这方面不起作用。请看我附加的小提琴与CSS添加。我已经添加了要复制的示例文本,对您有用吗@印花布这对我有用。您是否专门尝试将此数据复制到剪贴板?你到底想做什么?
<div>
  <textarea class="codebox">function helloWorld() {}</textarea>
</div>

<div>
  <button class="codeBtn">Copy</button>
</div>
var copyBtn = document.querySelector('.codeBtn');

copyBtn.addEventListener('click', function(event) {
  var copyText = document.querySelector('.codebox');
  copyText.select();

  var successful = document.execCommand('copy');
});
<div class="codebox">
  <div class="ipsCode_citation">
    <div style="float:right">
      <button class="codeBtn">Copy</button>
    </div>
    Code:
    <textarea style="display:none" id="hidden-codebox"></textarea>
  </div>
</div>
var copyBtn = document.querySelector('.codeBtn');

copyBtn.addEventListener('click', function(event) {
  // copy element text:
  var copyText = document
    .querySelector('.codeBtn') // button
    .parentElement // div
    .parentElement // div.ipsCode_citation
    .parentElement.innerText; // div.codebox

  // push to HIDDEN textarea:
  var hiddenCode = document.getElementById('hidden-codebox');
  hiddenCode.value = copyText;
  hiddenCode.select();

  try {
    var status = document.execCommand('copy');
    if (!status) {
      console.error("Cannot copy text");
    } else {
      console.log("The text is now on the clipboard");
    }
  } catch (err) {
    console.log('Unable to copy.');
  }
});