技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

clipboard.js,支持各種瀏覽器的文本復(fù)制實現(xiàn)方法

作者:admin    時間:2022-1-23 15:16:6    瀏覽:

前文介紹過文本復(fù)制的實現(xiàn)方法,無需JS插件,代碼也比較簡少,不過其對IE瀏覽器的支持不好。今天,我特地找了一個支持各種瀏覽器的文本復(fù)制實現(xiàn)方法,是利用第三方JS插件來實現(xiàn)的,該插件是clipboard.js。

支持瀏覽器

 

 

安裝

你可以在 npm 上得到它。

npm install clipboard --save

或者,如果你不熟悉包管理,只需下載一個RAR文件。

下載

clipboard.min.js

設(shè)置

首先,包含位于文件夾中的腳本加載它。

<script src="dist/clipboard.min.js"></script>

現(xiàn)在,你需要通過傳遞 DOM 選擇器、HTML 元素或HTML 元素列表來實例化它。

new ClipboardJS('.btn');

用法

強(qiáng)烈建議利用HTML5數(shù)據(jù)屬性來提高可用性。

從另一個元素復(fù)制文本

一個非常常見的用例是從另一個元素復(fù)制內(nèi)容。你可以通過data-clipboard-target在觸發(fā)器元素中添加一個屬性來做到這一點。

你在此屬性中包含的值需要與另一個元素選擇器匹配。

 

demodownload

 

demodownload

從另一個元素剪切文本

此外,你可以定義一個data-clipboard-action屬性來指定是否要copycut內(nèi)容。

如果省略此屬性,默認(rèn)使用copy。 

 

demodownload

cut操作僅適用于<input><textarea>元素。

從屬性復(fù)制文本

事實是,你甚至不需要另一個元素來復(fù)制其內(nèi)容。你可以在觸發(fā)器元素中包含一個data-clipboard-text屬性。

 

demodownload

通過傳遞HTML元素列表實例化剪貼板

 

demodownload

通過傳遞字符串選擇器實例化剪貼板

 

demodownload

在函數(shù)里定義復(fù)制選擇器

<!-- 1. 定義一些標(biāo)記 -->
<button class="btn">Copy</button>
<div>hello</div>
<!-- 2. 包含庫文件 -->
<script src="clipboard.min.js"></script>
<!-- 3. 初始化剪切板 -->
<script>
  var clipboard = new ClipboardJS('.btn', {
     target: function () {
        return document.querySelector('div'); /* 定義復(fù)制選擇器 */
     },
  });

  clipboard.on('success', function (e) {
     console.log(e);
  });

  clipboard.on('error', function (e) {
     console.log(e);
  });
</script>

demodownload

把要復(fù)制的文本寫在函數(shù)里

<!-- 1. 定義一些標(biāo)記 -->
<button class="btn">Copy</button>
<!-- 2. 包含庫文件 -->
<script src="clipboard.min.js"></script>
<!-- 3. 初始化剪切板 -->
<script>
var clipboard = new ClipboardJS('.btn', {
     text: function () {
       return 'to be or not to be'; /* 要復(fù)制的文本 */
     },
});
clipboard.on('success', function (e) {
      console.log(e);
});
clipboard.on('error', function (e) {
      console.log(e);
});
</script>

demodownload

演示

 

x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */