复制到剪贴板按钮无法正常工作
Copy to clipboard button does not work properly
我需要一些关于复制到剪贴板按钮的帮助。我似乎无法让它工作。现在它复制了完整的 div,但我只希望它复制里面的文本,包括段落之间的分隔符。我想我需要保留段落
编码设置,因为我在其他地方有更改内部 html 的按钮。
HTML 和下面的 JS。
非常感谢。巴特
function copyToClipboard(element) {
var $temp = $("<textarea>");
var brRegex = /<br\s*[\/]?>/gi;
$("body").append($temp);
$temp.val($(element).text().replace(brRegex, "\r\n")).select();
document.execCommand("copy");
$temp.remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="report">
<p style="font-size:125%" ;><b>Report: </b></p>
<br>
<p>Report 1.</p>
<p id="1">entry 1: </p>
<p id="2">entry 2: </p>
<p id="3">entry 3: </p>
<p id="4">entry 4: </p>
<p id="5">entry 5: </p>
<p id="6">entry 6: </p>
<br>
<p>Concluding: </p>
<br><br>
<p class="name"></p>
</div>
<div class="button01">
<button type="button" onclick="copyToClipboard('div#report')">
Copy div to clipboard
</button>
</div>
所以简单的答案是将 .html 替换为 .text。我对此还是很陌生。感谢您的帮助。
尝试使用 $(element).text()
而不是 $(element).html()
function copyToClipboard(element) {
var $temp = $("<textarea>");
$("body").append($temp);
$temp.val($(element).text() ).select();
document.execCommand("copy");
$temp.remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="report">
<p style="font-size:125%" ;><b>Report: </b></p>
<br>
<p>Report 1.</p>
<p id="1">entry 1: </p>
<p id="2">entry 2: </p>
<p id="3">entry 3: </p>
<p id="4">entry 4: </p>
<p id="5">entry 5: </p>
<p id="6">entry 6: </p>
<br>
<p>Concluding: </p>
<br><br>
<p class="name"></p>
</div>
<div class="button01">
<button type="button" onclick="copyToClipboard('div#report')">
Copy div to clipboard
</button>
</div>
在按钮中调用该函数 copyToClipboard('#p1')。
比那个函数添加
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
body {
background-color:#999999;
font-family: 'Oswald', sans-serif;
}
p
{
color:#000000;
font-size:20px;
}
.textBox
{
height:30px;
width:300px;
}
button
{
height:30px;
width:150px;
border-radius:8px;
padding:10px;
font-size:20px;
font-family: 'Oswald', sans-serif;
height:52px;
cursor:pointer;
background-color:wheat;
}
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>How to copy TEXT to Clipboard on Button-Click</title>
</head>
<body>
<link href='https://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p style="color:wheat;font-size:55px;text-align:center;">How to copy a TEXT to Clipboard on a Button-Click</p>
<center>
<div id="p1">
<p id="1">entry 1: </p>
<p id="2">entry 2: </p>
<p id="3">entry 3: </p>
<p id="4">entry 4: </p>
<p id="5">entry 5: </p>
<p id="6">entry 6: </p>
</div>
<p id="p2">Hi, I'm the 2nd TEXT</p><br/>
<button onclick="copyToClipboard('#p1')">Copy TEXT 1</button>
<button onclick="copyToClipboard('#p2')">Copy TEXT 2</button>
<br/><br/><input class="textBox" type="text" id="" placeholder="Dont belive me?..TEST it here..;)" />
</center>
</body>
</html>
我需要一些关于复制到剪贴板按钮的帮助。我似乎无法让它工作。现在它复制了完整的 div,但我只希望它复制里面的文本,包括段落之间的分隔符。我想我需要保留段落
编码设置,因为我在其他地方有更改内部 html 的按钮。 HTML 和下面的 JS。
非常感谢。巴特
function copyToClipboard(element) {
var $temp = $("<textarea>");
var brRegex = /<br\s*[\/]?>/gi;
$("body").append($temp);
$temp.val($(element).text().replace(brRegex, "\r\n")).select();
document.execCommand("copy");
$temp.remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="report">
<p style="font-size:125%" ;><b>Report: </b></p>
<br>
<p>Report 1.</p>
<p id="1">entry 1: </p>
<p id="2">entry 2: </p>
<p id="3">entry 3: </p>
<p id="4">entry 4: </p>
<p id="5">entry 5: </p>
<p id="6">entry 6: </p>
<br>
<p>Concluding: </p>
<br><br>
<p class="name"></p>
</div>
<div class="button01">
<button type="button" onclick="copyToClipboard('div#report')">
Copy div to clipboard
</button>
</div>
所以简单的答案是将 .html 替换为 .text。我对此还是很陌生。感谢您的帮助。
尝试使用 $(element).text()
而不是 $(element).html()
function copyToClipboard(element) {
var $temp = $("<textarea>");
$("body").append($temp);
$temp.val($(element).text() ).select();
document.execCommand("copy");
$temp.remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="report">
<p style="font-size:125%" ;><b>Report: </b></p>
<br>
<p>Report 1.</p>
<p id="1">entry 1: </p>
<p id="2">entry 2: </p>
<p id="3">entry 3: </p>
<p id="4">entry 4: </p>
<p id="5">entry 5: </p>
<p id="6">entry 6: </p>
<br>
<p>Concluding: </p>
<br><br>
<p class="name"></p>
</div>
<div class="button01">
<button type="button" onclick="copyToClipboard('div#report')">
Copy div to clipboard
</button>
</div>
在按钮中调用该函数 copyToClipboard('#p1')。 比那个函数添加
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
body {
background-color:#999999;
font-family: 'Oswald', sans-serif;
}
p
{
color:#000000;
font-size:20px;
}
.textBox
{
height:30px;
width:300px;
}
button
{
height:30px;
width:150px;
border-radius:8px;
padding:10px;
font-size:20px;
font-family: 'Oswald', sans-serif;
height:52px;
cursor:pointer;
background-color:wheat;
}
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>How to copy TEXT to Clipboard on Button-Click</title>
</head>
<body>
<link href='https://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p style="color:wheat;font-size:55px;text-align:center;">How to copy a TEXT to Clipboard on a Button-Click</p>
<center>
<div id="p1">
<p id="1">entry 1: </p>
<p id="2">entry 2: </p>
<p id="3">entry 3: </p>
<p id="4">entry 4: </p>
<p id="5">entry 5: </p>
<p id="6">entry 6: </p>
</div>
<p id="p2">Hi, I'm the 2nd TEXT</p><br/>
<button onclick="copyToClipboard('#p1')">Copy TEXT 1</button>
<button onclick="copyToClipboard('#p2')">Copy TEXT 2</button>
<br/><br/><input class="textBox" type="text" id="" placeholder="Dont belive me?..TEST it here..;)" />
</center>
</body>
</html>