Clipboard.js 無(wú)需Flash的JavaScript復(fù)制粘貼庫(kù)
clipboard.js基本使用
clipboard.js 是一個(gè)不需要flash,將文本復(fù)制到剪貼板的插件。簡(jiǎn)單介紹下基本運(yùn)用。
一、引入插件
<script src="js/clipboard.min.js"></script>
二、基本使用
首先需要您需要通過(guò)傳遞DOM選擇器,HTML元素或HTML元素列表來(lái)實(shí)例化它。
new Clipboard('.btn');
用一個(gè)元素當(dāng)觸發(fā)器來(lái)復(fù)制另一個(gè)元素的文本,data-clipboard-target屬性后需要跟屬性選擇器
<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">
<button class="btn" data-clipboard-target="#foo">
</button>
另外還有另外一個(gè)屬性data-clipboard-action屬性,以指定是要要么copy還是要cut操作。默認(rèn)情況下是copy。cut操作只適用于或元素。
<textarea id="bar">Mussum ipsum cacilds...</textarea> <button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar"> Cut to clipboard </button>
從屬性中復(fù)制文本,不需要另一個(gè)元素當(dāng)觸發(fā)器,可以使用data-clipboard-text屬性,在后面放上需要復(fù)制的文本.
<button class="btn" data-clipboard-text="Just because you can doesn't mean you should — clipboard.js"> Copy to clipboard </button>
三、其他說(shuō)明
1、通過(guò)運(yùn)行檢查clipboard.js是否支持Clipboard.isSupported(),返回true則可以使用。
2、顯示一些用戶反饋或捕獲在復(fù)制/剪切操作后選擇的內(nèi)容。操作,文本,觸發(fā)元素
var clipboard = new Clipboard('.btn'); clipboard.on('success', function(e) { console.info('Action:', e.action); console.info('Text:', e.text); console.info('Trigger:', e.trigger); e.clearSelection(); }); clipboard.on('error', function(e) { console.error('Action:', e.action); console.error('Trigger:', e.trigger); });
該插件使用的是事件委托的方式來(lái)觸發(fā),所以大大減少了對(duì)dom的操作。
四、高級(jí)使用
如果你不想修改你的HTML,又或者要獲取內(nèi)容的標(biāo)簽是無(wú)法被選中【移動(dòng)端經(jīng)常遇到的問(wèn)題】,那么你可以使用一個(gè)非常方便的命令A(yù)PI。所以你需要做的是聲明一個(gè)函數(shù),寫下你想要的操作,并返回一個(gè)值。下面是一個(gè)對(duì)不同id的觸發(fā)器返回不同的值的例子。具體的使用方法請(qǐng)看https://clipboardjs.com
五、移動(dòng)端復(fù)制失敗分析詳解
移動(dòng)端復(fù)制失敗的原因基本都是要獲取的內(nèi)容無(wú)法被選中,如此才獲取不到內(nèi)容,用上面的函數(shù)基本可以解決,但亦可看看分析過(guò)程。
clipboard.js在移動(dòng)端復(fù)制失敗的解決方法
六、支持的瀏覽器
谷歌42+,火狐41+,其他自己查看官方
下面是實(shí)例
clipboard.js 實(shí)現(xiàn)了純 JavaScript (無(wú) Flash)的瀏覽器內(nèi)容復(fù)制到系統(tǒng)剪貼板的功能??梢栽跒g覽器和 Node 環(huán)境中使用。支持 Chrome 42+、Firefox 41+、IE 9+、Opera 29+
官方網(wǎng)站:https://github.com/zenorocha/clipboard.js
軟件下載://www.dbjr.com.cn/jiaoben/385604.html
官方使用方法:https://zenorocha.github.io/clipboard.js/#example-text
示例代碼:
官方實(shí)例一:
在線演示:http://demo.jb51.net/js/2015/clipboard/
<script src="clipboard.min.js"></script> <textarea id="bar" cols="62" rows="5" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">腳本之家是國(guó)內(nèi)專業(yè)的網(wǎng)站建設(shè)資源、腳本編程學(xué)習(xí)類網(wǎng)站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批處理、網(wǎng)頁(yè)制作、網(wǎng)絡(luò)編程、網(wǎng)站建設(shè)等編程資料。</textarea> <!-- Trigger --> <button class="btn" data-clipboard-action="copy" data-clipboard-target="#bar"> Cut to clipboard </button> <script> var clipboard = new Clipboard('.btn'); clipboard.on('success', function(e) { console.info('Action:', e.action); console.info('Text:', e.text); console.info('Trigger:', e.trigger); alert("復(fù)制成功"); e.clearSelection(); }); clipboard.on('error', function(e) { console.error('Action:', e.action); console.error('Trigger:', e.trigger); }); </script>
官方實(shí)例二:
<script src="dist/clipboard.min.js"></script> <button class="btn"> <script type="text/javascript"> var clipboard = new Clipboard('.btn'); clipboard.on('success', function(e) { console.info('Action:', e.action); console.info('Text:', e.text); console.info('Trigger:', e.trigger); e.clearSelection(); }); clipboard.on('error', function(e) { console.error('Action:', e.action); console.error('Trigger:', e.trigger); }); </script>
到此這篇關(guān)于Clipboard.js 無(wú)需Flash的JavaScript復(fù)制粘貼庫(kù)的文章就介紹到這了,更多相關(guān)JavaScript 內(nèi)容復(fù)制 Clipboard內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- clipboard.js使用總結(jié)
- JS如何使用剪貼板操作Clipboard API
- JS插件clipboard.js實(shí)現(xiàn)一鍵復(fù)制粘貼功能
- 使用clipboard.js實(shí)現(xiàn)復(fù)制功能的示例代碼
- JS基于clipBoard.js插件實(shí)現(xiàn)剪切、復(fù)制、粘貼
- clipboard.js在移動(dòng)端復(fù)制失敗的解決方法
- clipboard.js無(wú)需Flash無(wú)需依賴任何JS庫(kù)實(shí)現(xiàn)文本復(fù)制與剪切
- 使用clipboard.js庫(kù)實(shí)現(xiàn)復(fù)制剪切功能
相關(guān)文章
JS中圖片緩沖loading技術(shù)的實(shí)例代碼
這篇文章介紹了JS中圖片緩沖loading技術(shù)的實(shí)例代碼,有需要的朋友可以參考一下2013-08-08詳解小程序開(kāi)發(fā)經(jīng)驗(yàn):多頁(yè)面數(shù)據(jù)同步
這篇文章主要介紹了小程序開(kāi)發(fā)經(jīng)驗(yàn):多頁(yè)面數(shù)據(jù)同步,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05JavaScript中undefined和is?not?defined的區(qū)別與異常處理
這篇文章主要給大家介紹了關(guān)于JavaScript中undefined和is?not?defined的區(qū)別與異常處理的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03教你使用javascript簡(jiǎn)單寫一個(gè)頁(yè)面模板引擎
不知道你有木有聽(tīng)說(shuō)過(guò)一個(gè)基于Javascript的Web頁(yè)面預(yù)處理器,叫做AbsurdJS。只是打算寫一個(gè)CSS的預(yù)處理器,后來(lái)擴(kuò)展到了CSS和HTML,可以用來(lái)把Javascript代碼轉(zhuǎn)成CSS和HTML代碼。當(dāng)然,由于可以生成HTML代碼,你也可以把它當(dāng)成一個(gè)模板引擎,用于在標(biāo)記語(yǔ)言中填充數(shù)據(jù)。2015-05-05js創(chuàng)建數(shù)據(jù)共享接口——簡(jiǎn)化框架之間相互傳值
很多框架存在父子關(guān)系,操作起來(lái)十分麻煩,很多同學(xué)經(jīng)常出現(xiàn)這樣悲催的代碼2011-10-10無(wú)阻塞加載js,防止因js加載不了影響頁(yè)面顯示的問(wèn)題
下面小編就為大家?guī)?lái)一篇無(wú)阻塞加載js,防止因js加載不了影響頁(yè)面顯示的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)2016-12-12