Javascript 单击按钮时复制剪贴板中textarea的文本
我想创建一个jQuery(或javascript)Javascript 单击按钮时复制剪贴板中textarea的文本,javascript,jquery,copy,textarea,Javascript,Jquery,Copy,Textarea,我想创建一个jQuery(或javascript)按钮,它选择文本区域中的所有内容,然后在单击按钮时将文本复制到剪贴板 我发现了一些使用焦点事件的示例。但我正在寻找一个按钮,你实际上必须点击选择和复制 如何完成此工作?您需要使用来选择textarea的文本,并使用来处理所选文本。它在浏览器的上层版本中工作 $("button").click(function(){ $("textarea").select(); document.execCommand('copy'); });
按钮
,它选择文本区域
中的所有内容,然后在单击按钮时将文本复制到剪贴板
我发现了一些使用焦点事件的示例。但我正在寻找一个按钮,你实际上必须点击选择和复制
如何完成此工作?您需要使用来选择textarea
的文本,并使用来处理所选文本。它在浏览器的上层版本中工作
$("button").click(function(){
$("textarea").select();
document.execCommand('copy');
});
您也可以在不使用jquery的情况下完成这项工作,如下图所示
document.querySelector("button").onclick = function(){
document.querySelector("textarea").select();
document.execCommand('copy');
}
document.querySelector(“按钮”).onclick=function(){
document.querySelector(“textarea”).select();
document.execCommand('copy');
};代码>
选择
不使用jQuery就可以实现这一点
这里有一个纯js解决方案
函数复制(){
设textarea=document.getElementById(“textarea”);
textarea.select();
文件。执行命令(“副本”);
}
复制
**复制文本区域的文本**
这个词有两个主要意思。第一个是感到高兴和满意(感到满足),或者让别人感到高兴和平静(满足他们)。另一个含义与主题有关:历史课的内容可能是美国历史。数学课的内容可能是几何。只要有主题,就有内容。
**下面的代码添加到脚本区域**
$(“按钮”)。单击(函数(){
$(“textarea”).select();
document.execCommand('copy');
});
当您的textarea元素由于某种原因被禁用时,或者如果您不想看到所选文本的视觉效果,那么下面的解决方案适合您
$("#button_id").click(function(){
var $temp = $("<textarea></textarea>");
$("body").append($temp);
$temp.val($("#textarea_source").val()).select(); <-- #textarea_source: id of textarea source to be copied to the clipboard
document.execCommand("copy");
$temp.remove();
})
$(“按钮id”)。单击(函数(){
变量$temp=$(“”);
$(“正文”)。追加($temp);
$temp.val($(“#textarea_source”).val()).select();在IE9中复制时不会保留换行符。值得一提的是,如果textarea
元素标记为disabled
则上述操作将不起作用,因此需要事先删除禁用的属性。如果textarea被“display:none”隐藏复制不起作用。在复制之前删除style属性,然后再添加它,对我来说效果很好。你能解释一下为什么使用你的确切代码可以这样做,但是当我把里面的内容放进去时,内容就不会复制了。有趣的是,如果你像W3建议的那样放置textarea.setSelectedRange(099999)
,它不起作用。
$("#button_id").click(function(){
var $temp = $("<textarea></textarea>");
$("body").append($temp);
$temp.val($("#textarea_source").val()).select(); <-- #textarea_source: id of textarea source to be copied to the clipboard
document.execCommand("copy");
$temp.remove();
})