使用Express Handlebars模板引擎复制到NodeJs中的剪贴板

时间:2019-05-06 04:56:05

标签: javascript node.js express-handlebars

如何使用 express handlebar 模板在 NodeJs 中单击按钮时实现复制到剪贴板功能。

我尝试使用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>

这是我引用的链接:Copy to the clipboard using JS

1 个答案:

答案 0 :(得分:1)

您尝试从按钮复制​​文本。您可以选择按钮文字。在其他标签中添加您要选择的内容

这是一个解决方案:

<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/