2017-09-27 1 views
0

aspx 웹 사이트에서 요소의 텍스트를 복사하려고하는데 작동하지 않습니다.
버튼을 클릭하여 내 lblFileLink의 텍스트를 클립 보드로 복사하려고합니다.
주의 사항 : 내가 ID를 발견 : 나는 그것을 다시 게시하기 전에 javascrip/jQuery로 있도록

클립 보드에 요소 텍스트 복사 aspx

편집 그렇게 할

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

:이 페이지는 masterpage 여기
을 사용하는 것은 내 코드입니다 사이트 자체에 다른 그래서 지금 내 코드는 다음입니다 :

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

답변

0

대신이를 사용하여 :

asp.net 컨트롤러를 사용할 때 서버에서 실행되므로 서버에 다시 게시됩니다.

단추 html 태그를 사용합니다.

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

또는 당신은이 작업을 수행 할 수 있습니다

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

감사합니다,하지만 난 더, 나는 당신이 세 번째 옵션에서 사용 onclientclick 더블 이벤트를 구현하고 좋아 다른 해결책을 발견했다. – MonsterGamer666