clipboard.js使用總結(jié)
(1)介紹:
clipboard.js是一款輕量級的實現(xiàn)復(fù)制文本到剪貼板功能的JavaScript插件。通過該插件可以將輸入框,文本域,DIV元素中的文本等文本內(nèi)容復(fù)制到剪貼板中
clipboard.js支持主流的瀏覽器:chrome 42+; Firefox 41+; IE 9+; opera 29+; Safari 10+;
(2)clipboard復(fù)印內(nèi)容的方式有
從target復(fù)印目標內(nèi)容
通過function 要復(fù)印的內(nèi)容
通過屬性返回復(fù)印的內(nèi)容
target復(fù)印目標內(nèi)容,這里不說,就說一下function和屬性的操作。
(3)Function操作有兩種:
第一種:
通過target的function復(fù)印內(nèi)容
通過target指定要復(fù)印的節(jié)點,這里返回舒值是‘hello'
<button class="btn">Copy_target</button> <div>hello</div> <script> var clipboard = new Clipboard('.btn', { // 通過target指定要復(fù)印的節(jié)點 target: function() { return document.querySelector('div'); } }); clipboard.on('success', function(e) { console.log(e); }); clipboard.on('error', function(e) { console.log(e); }); </script>
第二種:
通過text的function復(fù)印內(nèi)容
text的function指定的復(fù)印內(nèi)容,這里返回‘to be or not to be'
<button class="btn">Copy</button> <script> var clipboard = new Clipboard('.btn', { // 點擊copy按鈕,直接通過text直接返回復(fù)印的內(nèi)容 text: function() { return 'to be or not to be'; } }); clipboard.on('success', function(e) { console.log(e); }); clipboard.on('error', function(e) { console.log(e); });
(4)通過屬性返回復(fù)印的內(nèi)容
第一種: 單節(jié)點
通過id指定節(jié)點對象,并做為參數(shù)傳送給Clipboard。這里的返回值的內(nèi)容是data-clipboard-text的內(nèi)容
// 通過id獲取復(fù)制data-clipboard-text的內(nèi)容 <div id="btn" data-clipboard-text="1"> <span>Copy</span> </div> <script> var btn = document.getElementById('btn'); var clipboard = new Clipboard(btn); clipboard.on('success', function(e) { console.log(e); }); clipboard.on('error', function(e) { console.log(e); }); </script>
第二種: 多節(jié)點
通過class獲取所有button按鈕,并做為參數(shù)傳送給Clipboard。每個按鈕被點擊時,返回值的內(nèi)容是其對應(yīng)的data-clipboard-text的內(nèi)容,分別是1,2,3
// 通過class注冊多個button,獲取data-clipboard-text的值 <button class="btn" data-clipboard-text="1">Copy</button> <button class="btn" data-clipboard-text="2">Copy</button> <button class="btn" data-clipboard-text="3">Copy</button> <script> var clipboard = new Clipboard('.btn'); clipboard.on('success', function(e) { console.log(e); }); clipboard.on('error', function(e) { console.log(e); }); </script>
(5)函數(shù)和屬性的兼容方式
函數(shù):
//ClipboardJS.isSupported() //--------這句為:是否兼容 var clipboard = new Clipboard('.btn'); //優(yōu)雅降級:safari 版本號>=10,提示復(fù)制成功;否則提示需在文字選中后,手動選擇“拷貝”進行復(fù)制 clipboard.on('success', function(e) { alert('復(fù)制成功!') e.clearSelection(); }); clipboard.on('error', function(e) { alert('請選擇“拷貝”進行復(fù)制!') //嘗試去掉alert,能彈出系統(tǒng)的“拷貝”工具,但是需要點擊兩次按鈕才能彈出,具體原因還不清楚,參考上圖。有人說可以試一下在觸發(fā)的地方寫一個空點擊事件, οnclick="" 因為ios不單純支持on事件 });
屬性:
<img src="../../../../assets/images/zuop_award/copy_link.png" @click="copy" data-clipboard-action="copy" class="email" :data-clipboard-text="'mayouchen@csdn.com'" /> ------------------- copy() { var clipboard = new Clipboard(".email") // console.log(clipboard); clipboard.on("success", e => { // console.log("復(fù)制成功", e); Toast({ message: "復(fù)制成功" }) // 釋放內(nèi)存 clipboard.destroy() }) clipboard.on("error", e => { // 不支持復(fù)制 Toast({ message: "手機權(quán)限不支持復(fù)制功能" }) console.log("該瀏覽器不支持自動復(fù)制") // 釋放內(nèi)存 clipboard.destroy() }) }
到此這篇關(guān)于clipboard.js使用總結(jié)的文章就介紹到這了,更多相關(guān)clipboard.js使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
原生javascript運動函數(shù)的封裝示例【勻速、拋物線、多屬性的運動等】
這篇文章主要介紹了原生javascript運動函數(shù)的封裝,結(jié)合實例形式分析了JavaScript封裝勻速、拋物線、多屬性的運動等函數(shù)及相關(guān)使用方法,需要的朋友可以參考下2020-02-02javascript hashtable實現(xiàn)代碼
javascript中沒有像c#,java那樣的哈希表(hashtable), 然而,javascript中的Array也只有一些類似于'哈希表'的非常簡單功能。2009-10-10原生javascript實現(xiàn)分享到朋友圈功能 支持ios和android
本文主要介紹網(wǎng)上一個牛人寫的js可以實現(xiàn)在UC瀏覽器和QQ瀏覽器中調(diào)用瀏覽器內(nèi)置的分享組件進行分享。2016-05-05layui+ssm實現(xiàn)數(shù)據(jù)表格雙擊編輯更新數(shù)據(jù)功能
在使用layui加載后端數(shù)據(jù)請求時,對數(shù)據(jù)選項框進行雙擊即可實現(xiàn)數(shù)據(jù)的輸入編輯更改,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12