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