Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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 单击按钮时复制剪贴板中textarea的文本_Javascript_Jquery_Copy_Textarea - Fatal编程技术网

Javascript 单击按钮时复制剪贴板中textarea的文本

Javascript 单击按钮时复制剪贴板中textarea的文本,javascript,jquery,copy,textarea,Javascript,Jquery,Copy,Textarea,我想创建一个jQuery(或javascript)按钮,它选择文本区域中的所有内容,然后在单击按钮时将文本复制到剪贴板 我发现了一些使用焦点事件的示例。但我正在寻找一个按钮,你实际上必须点击选择和复制 如何完成此工作?您需要使用来选择textarea的文本,并使用来处理所选文本。它在浏览器的上层版本中工作 $("button").click(function(){ $("textarea").select(); document.execCommand('copy'); });

我想创建一个jQuery(或javascript)
按钮
,它选择
文本区域
中的所有内容,然后在单击按钮时将文本复制到
剪贴板

我发现了一些使用焦点事件的示例。但我正在寻找一个按钮,你实际上必须点击选择和复制

如何完成此工作?

您需要使用来选择
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();
})