使用 Express Handlebars 模板引擎在 NodeJs 中复制到剪贴板
Copy to Clipboard in NodeJs with Express Handlebars template engine
我们如何在 NodeJs 中使用 express handlebar[=26= 在按钮点击时实现 复制到剪贴板 功能]模板。
我试过使用 Javascript 但它不起作用。
下面是我试过的代码:
myFile.handlebars :
<input type="button" id="linkBtn" class="btn btn-primary" onclick="copyLink()" data-toggle="tooltip" title="Copy to Clipboard" value="copy link" readonly />
<script>
function copyLink() {
let copyText = document.getElementById("linkBtn");
/* Select the text field */
copyText.select();
/* Copy the text inside the text field */
document.execCommand("copy");
/* Alert the copied text */
//alert("Copied the text: " + copyText.value);
}
</script>
您正在尝试从按钮复制文本。您可以 select 按钮文本。在任何其他标签
中添加您想要select的内容
这里有一个解决方案:
<input type="button" class="btn btn-primary" onclick="copyLink()" data-toggle="tooltip" title="Copy to Clipboard" value="copy link" readonly />
<span id="copyText">Copy this Text</span>
<script>
function copyLink() {
let copyText = document.getElementById("copyText")
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(copyText);
selection.removeAllRanges();
selection.addRange(range);
document.execCommand('copy');
}
</script>
这是一个工作演示:https://jsfiddle.net/5mryvpc6/
我们如何在 NodeJs 中使用 express handlebar[=26= 在按钮点击时实现 复制到剪贴板 功能]模板。
我试过使用 Javascript 但它不起作用。
下面是我试过的代码:
myFile.handlebars :
<input type="button" id="linkBtn" class="btn btn-primary" onclick="copyLink()" data-toggle="tooltip" title="Copy to Clipboard" value="copy link" readonly />
<script>
function copyLink() {
let copyText = document.getElementById("linkBtn");
/* Select the text field */
copyText.select();
/* Copy the text inside the text field */
document.execCommand("copy");
/* Alert the copied text */
//alert("Copied the text: " + copyText.value);
}
</script>
您正在尝试从按钮复制文本。您可以 select 按钮文本。在任何其他标签
中添加您想要select的内容这里有一个解决方案:
<input type="button" class="btn btn-primary" onclick="copyLink()" data-toggle="tooltip" title="Copy to Clipboard" value="copy link" readonly />
<span id="copyText">Copy this Text</span>
<script>
function copyLink() {
let copyText = document.getElementById("copyText")
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(copyText);
selection.removeAllRanges();
selection.addRange(range);
document.execCommand('copy');
}
</script>
这是一个工作演示:https://jsfiddle.net/5mryvpc6/