clipboard.js插件的使用

在項(xiàng)目需要完成點(diǎn)擊復(fù)制卡卷號(hào)到粘貼板的功能,百度了下發(fā)現(xiàn)有多種方式來(lái)實(shí)現(xiàn):

1:js原生方法中的document.execCommand(),但是存在兼容的問(wèn)題
2:使用ZeroClipboard.js,但是這個(gè)需要flash 現(xiàn)在越來(lái)越多的瀏覽器都不支持flash.
3:使用clipboard.js來(lái)實(shí)現(xiàn).兼容性較好,而且vue有對(duì)應(yīng)的插件.(推薦使用)

因?yàn)榧嫒莸膯?wèn)題因此采用clipboard來(lái)實(shí)現(xiàn),

<input class="foo" type="text" value="hello">
<button class="btn" data-clipboard-action="copy" data-clipboard-target="foo">Copy</button>
<script>
// button的class的值
var clipboard = new Clipboard('.btn');
clipboard.on('success', function(e) {
console.log(e);
});
clipboard.on('error', function(e) {
console.log(e);
});
</script>

data-clipboard-action="copy/cut" 表示是復(fù)制還是剪切.
data-clipboard-target="foo" 是指通過(guò)class為foo來(lái)找到需要復(fù)制的dom元素. 也可以來(lái)用id來(lái)找
js里面的就是默認(rèn)的方法呢,success為成功的回調(diào). error為失敗的回調(diào).

遇到的問(wèn)題:
1:需要綁定多個(gè)按鈕時(shí),使用class來(lái)找. 且當(dāng)需要綁定多個(gè)時(shí), 粘貼的值與點(diǎn)擊的盒子的class必須一樣且唯一.
應(yīng)為我的html是通過(guò)art-template來(lái)渲染的,所以為防止多個(gè)卷的class一樣,就加上了 index值.


需要綁定多個(gè)時(shí)的寫(xiě)法

2:ios上可能會(huì)出現(xiàn)點(diǎn)擊沒(méi)有反應(yīng)的問(wèn)題 在copy的那個(gè)按鈕上需要加上行內(nèi)綁定的空點(diǎn)擊事件 .
onclick= "".

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容