代码之家  ›  专栏  ›  技术社区  ›  deltaforce

如何使用javaScript将一些文本放入剪贴板?

  •  0
  • deltaforce  · 技术社区  · 6 年前

    我想让用户复制一些内容到剪贴板。我试过以下方法。

    var textArea = document.createElement('textarea');
    textArea.textContent = response['file_content'];
    document.body.appendChild(textArea);
    
     var selection = document.getSelection();
     var range = document .createRange();
     range.selectNode(textArea)
     selection.removeAllRanges();
     selection.addRange(range);
    
     if(document.execCommand('copy'))
     {
         console.log('Template copied to clipboard');
     }else {
         console.log('Copying Failed');
     }
    
     selection.removeAllRanges();
     document.body.removeChild(textArea)
    

    但不幸的是

    document.execCommand('copy')
    

    1 回复  |  直到 6 年前
        1
  •  7
  •   Prashant Patil    6 年前

    我在我的项目中使用了以下代码。。它对我有用。。

    <a rel="tooltip" data-placement="top" title="Copy code" class="copytext-btn copyText" href="javascript:void(0);"><i class="code-file-icn"></i></a>
    

    单击事件:

    jQuery(".copyText").click(function(e)
    {
        e.preventDefault();
        copyTextToClipboard(jQuery('.GeneratedText').text());
    });
    

    function copyTextToClipboard(text) 
    {
        var textArea = document.createElement("textarea");
        textArea.value = text;
        document.body.appendChild(textArea);
        textArea.select();
        try {
            var successful = document.execCommand('copy');
            if(successful)
            {
                // SuccessCode
    
            }
            var msg = successful ? 'successful' : 'unsuccessful';
            console.log('Copying text command was ' + msg);
        } 
        catch (err) 
        {
            console.log('Oops, unable to copy');
        }
    }