這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)怎么在Html5中實現(xiàn)一個剪切板功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
公司主營業(yè)務:網(wǎng)站設計、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出南部免費做網(wǎng)站回饋大家。
1.不帶input輸入框的原生js方法
這種情況適用于復制非輸入框中的文本到剪切板
<h2 id="content">被復制的內(nèi)容</h2> <button id="button">點擊復制</button> <script> (function(){ button.addEventListener('click', function(){ var copyDom = document.querySelector('#content'); //創(chuàng)建選中范圍 var range = document.createRange(); range.selectNode(copyDom); //移除剪切板中內(nèi)容 window.getSelection().removeAllRanges(); //添加新的內(nèi)容到剪切板 window.getSelection().addRange(range); //復制 var successful = document.execCommand('copy'); try{ var msg = successful ? "successful" : "failed"; alert('Copy command was : ' + msg); } catch(err){ alert('Oops , unable to copy!'); } }) })() </script>
2.帶輸入框的原生js方法
用于復制input,textarea中的文本
<input type="text" id="input" value="17373383"> <br> <button type="button" id="button">復制輸入框中內(nèi)容</button> <script> (function(){ button.addEventListener('click', function(){ input.select(); document.execCommand('copy'); alert('復制成功'); }) })() </script>
這種方法也可以進行延深,充當和方法1一樣的用途。動態(tài)創(chuàng)建一個input輸入框,將其內(nèi)容置為想復制的內(nèi)容,最后在將其移除或者隱藏即可。
3.js復制內(nèi)容到剪貼板插件(clipboard.js)
clipboard.js官網(wǎng)
clipboard.js cdn地址
引用方式:
NPM npm install --save clipboard
CDN <script src="https://cdn.bootcss.com/clipboard.js/2.0.1/clipboard.js"></script>
<!--默認是截取.btn中的 data-clipboard-text的屬性值--> <!-- <button class="btn" data-clipboard-text="3">Copy</button> --> <!--截取input輸入框中的值--> <input id="foo" value="https://github.com/zenorocha/clipboard.js.git"> <!-- Trigger --> <button class="btn" data-clipboard-target="#foo"> <img src="assets/clippy.svg" alt="Copy to clipboard"> </button> <script src="https://cdn.bootcss.com/clipboard.js/2.0.1/clipboard.js"></script> <script> var clipboard = new ClipboardJS('.btn'); clipboard.on('success', function (e) { console.log(e); }); clipboard.on('error', function (e) { console.log(e); }); </script>
里面還有很多高級用法,可以前往官網(wǎng)邏輯更多細節(jié) Clipboard官網(wǎng)
4. Vue框架提供的剪切板插件 vue-clipboard2
import Vue from 'vue' import VueClipboard from 'vue-clipboard2' VueClipboard.config.autoSetContainer = true // add this line Vue.use(VueClipboard)
Sample1
<div id="app"></div> <template id="t"> <div class="container"> <input type="text" v-model="message"> <button type="button" v-clipboard:copy="message" v-clipboard:success="onCopy" v-clipboard:error="onError">Copy!</button> </div> </template> <script> new Vue({ el: '#app', template: '#t', data: function () { return { message: 'Copy These Text' } }, methods: { onCopy: function (e) { alert('You just copied: ' + e.text) }, onError: function (e) { alert('Failed to copy texts') } } }) </script>
Sample2
<div id="app"></div> <template id="t"> <div class="container"> <input type="text" v-model="message"> <button type="button" @click="doCopy">Copy!</button> </div> </template> <script> new Vue({ el: '#app', template: '#t', data: function () { return { message: 'Copy These Text' } }, methods: { doCopy: function () { this.$copyText(this.message).then(function (e) { alert('Copied') console.log(e) }, function (e) { alert('Can not copy') console.log(e) }) } } }) </script>
上述就是小編為大家分享的怎么在Html5中實現(xiàn)一個剪切板功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站題目:怎么在Html5中實現(xiàn)一個剪切板功能
轉(zhuǎn)載來源:http://jinyejixie.com/article0/jjegio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、微信小程序、搜索引擎優(yōu)化、云服務器、營銷型網(wǎng)站建設、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)