將文本復制到粘貼板上


將文本復制到粘貼板上

  js也是有復制命令的,那就是document.execCommand('copy'); 這個命令會將選中的內容復制到粘貼板中;

  input和textarea元素有一個select()方法,這個方法可以幫我們自動選中。

 
         
function  copy(text) {
 
         
     var  textareaEl = document.createElement( 'textarea' );
 
         
     textareaEl.setAttribute( 'readonly' 'readonly' );  // 防止手機上彈出軟鍵盤
 
         
     textareaEl.value = text;
 
         
     document.body.appendChild(textareaEl);
 
         
     textareaEl.select();
 
         
     var  res = document.execCommand( 'copy' );
 
         
     document.body.removeChild(textareaEl);
 
         
     console.log( "復制成功" );
 
         
     return  res;
 
         
}
 

思路分析:

  1. 創建input或textarea,因為這兩個DOM具有select方法,可以選中內容(document.execCommand('copy')復制內容必要條件);
  2. 給input賦值為需要賦值的內容
  3. 將DOM添加到文檔中
  4. 選中輸入框中的值(也就是要復制的值)
  5. 執行復制命令
  6. 最后別忘了從文檔中移除DOM元素
  7. 此函數最后返回了復制是否成功的結果(true/false,document.execCommand('copy')本身會返回true/false),你可以做相應的交互提示等。

 后面實踐發現,當要復制的內容中含有tab符號或者換行的符號時,復制的結果就不是想要的結果了,因為input不支持換行,然后textarea是支持的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM