RKS*_*RKS 5 html javascript jquery
我已经写了javascript来选择表格,但我现在想在点击按钮后自动复制它.请帮助我.我的javascript是这样的.
function selectElementContents(el) {
var body = document.body, range, sel;
if (document.createRange && window.getSelection) {
range = document.createRange();
sel = window.getSelection();
sel.removeAllRanges();
try {
range.selectNodeContents(el);
sel.addRange(range);
document.execCommand('Copy');
} catch (e) {
range.selectNode(el);
sel.addRange(range);
document.execCommand('Copy');
}
} else if (body.createTextRange) {
range = body.createTextRange();
range.moveToElementText(el);
range.select();
range.execCommand('Copy');
}
}
Run Code Online (Sandbox Code Playgroud)
小智 13
尝试这个:
<script type="text/javascript">
function copytable(el) {
var urlField = document.getElementById(el)
var range = document.createRange()
range.selectNode(urlField)
window.getSelection().addRange(range)
document.execCommand('copy')
}
</script>
<input type=button value="Copy to Clipboard" onClick="copytable('stats')">
<table id=stats>
<tr>
<td>hello</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
小智 11
我知道这是一个旧问题,但如果有人仍在寻找解决方案。这个对我有用
<script>
$(document).ready(function() {
$("#copyBtn").on("click",
function(e) {
copyTable("listTable", e);
});
});
function copyTable(el, e) {
e.preventDefault();
var table = document.getElementById(el);
if (navigator.clipboard) {
var text = table.innerText.trim();
navigator.clipboard.writeText(text).catch(function () { });
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
小智 9
function selectElementContents(el) {
var body = document.body, range, sel;
if (document.createRange && window.getSelection) {
range = document.createRange();
sel = window.getSelection();
sel.removeAllRanges();
try {
range.selectNodeContents(el);
sel.addRange(range);
} catch (e) {
range.selectNode(el);
sel.addRange(range);
}
} else if (body.createTextRange) {
range = body.createTextRange();
range.moveToElementText(el);
range.select();
}
document.execCommand("Copy");}
Run Code Online (Sandbox Code Playgroud)
这对我有用,它不仅限于表,它甚至可以选择并复制到剪贴板中用 id 指定的 Node 内的所有元素。
我已经在 Mac Chrome 和 Windows Chrome 中进行了测试。
使用案例:基于JS复制签名生成器创建的签名
演示:
<div id="signature_container">
<p id="company_name" style="margin-top: 4px; margin-bottom: 0px; color: #522e64; font-weight: 700; font-size: 16px; letter-spacing: 1px; border-bottom: solid 2px #522e64; width:250px; padding-bottom: 3px;">The Company Name</p>
<p style="margin-top: 4px; margin-bottom: 0px; color: #00706a; font-weight: 700; font-size: 15px;"> <span id="first_name_output_2"></span>Firstname<span id="last_name_output_2"> Lastname</span> <span id="designation_output_2" style="color: #000000; font-weight: 500; font-size: 15px;">Designation</span></p>
<p style="margin-top: 0px; margin-bottom: 0px; color: #625469; font-weight: normal; font-size: 15px; letter-spacing: 0.6px;">youreamil@xyz.com<span id="email_output_2"></span> </p>
</div>
<br><br>
<input type="button" onclick="selectElementContents( document.getElementById('signature_container') );" value="Copy to Clipboard">
<script>
function selectElementContents(el) {
var body = document.body,
range, sel;
if (document.createRange && window.getSelection) {
range = document.createRange();
sel = window.getSelection();
sel.removeAllRanges();
range.selectNodeContents(el);
sel.addRange(range);
}
document.execCommand("Copy");
}
</script>Run Code Online (Sandbox Code Playgroud)
请改用此代码。
代码:
function selectElementContents(el) {
var body = document.body, range, sel;
if (document.createRange && window.getSelection) {
range = document.createRange();
sel = window.getSelection();
sel.removeAllRanges();
try {
range.selectNodeContents(el);
sel.addRange(range);
} catch (e) {
range.selectNode(el);
sel.addRange(range);
}
} else if (body.createTextRange) {
range = body.createTextRange();
range.moveToElementText(el);
range.select();
document.execCommand("copy");
}
}Run Code Online (Sandbox Code Playgroud)
<input type="button" value="select table"
onclick="selectElementContents( document.getElementById('table') );">
<table id="table">
<thead>
<tr><th>Heading</th><th>Heading</th></tr>
</thead>
<tbody>
<tr><td>cell</td><td>cell</td></tr>
</tbody>
</table>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17266 次 |
| 最近记录: |