将元素文本复制到剪贴板aspx

时间:2017-09-27 10:49:31

标签: javascript jquery asp.net

我试图在我的aspx网站上复制一个元素的文本但无法使其工作。
我想点击一个按钮,让它将我的lblFileLink文本复制到剪贴板 注意:此页面使用的是母版页 这是我的代码:

    <asp:Label ID="lblFileLink" runat="server"></asp:Label>
    <asp:Button ID="btnCopy" runat="server" Text="Copy link" OnClientClick="copyToClipboard()" />
    <script>
        function copyToClipboard() {
            var element = document.getElementById("lblFileLink")
            var $temp = $("<input>");
            $("body").append($temp);
            $temp.val($(element).text()).select();
            document.execCommand("copy");
            $temp.remove();
            return false
        }
    </script>

我希望它在回发之前做到这一点,所以使用javascrip / jquery

编辑:我注意到网站上的ID不同,所以现在我的代码是:

    <asp:Label ID="lblFileLink" runat="server"></asp:Label>
    <asp:Button ID="btnCopy" runat="server" Text="Copy link" OnClientClick="copyToClipboard('#ContentPlaceHolder1_lblFileLink')" />
    <script>
        function copyToClipboard(element) {
            var $temp = $("<input>");
            $("body").append($temp);
            $temp.val($(element).text()).select();
            document.execCommand("copy");
            $temp.remove();
        }
    </script>

1 个答案:

答案 0 :(得分:1)

而不是使用它:

 <asp:Button ID="btnCopy" runat="server" Text="Copy link" 
OnClientClick="copyToClipboard()" />

因为当使用asp.net控制器在服务器上运行时它会回发到服务器。

使用按钮html标记。

<button id="btnCopy" click="copyToClipboard()">Copy link</button>

或者你可以这样做:

 <asp:Button ID="btnCopy" runat="server" Text="Copy link" 
     OnClientClick="copyToClipboard(); return false;" />