微信小程序?qū)崿F(xiàn)文字長按復(fù)制與一鍵復(fù)制功能全過程
一、不引入外部組件的實(shí)現(xiàn)方式
<!-- index.wxml --> <view> <!-- 長按復(fù)制 --> <view bindlongtap="copyText" data-key="{{item.cdkey}}">{{ item.cdkey }}</view> <text bindlongtap="copyText" data-key="{{item.cdkey}}">{{ item.cdkey }}</text> <!-- 一鍵復(fù)制 --> <view bindtap="copyText" data-key="{{item.cdkey}}" > 復(fù)制 </view> </view>
- 長按復(fù)制 可利用
bindlongtap
方法,手指長按 500ms 之后觸發(fā)事件。 - 一鍵復(fù)制 可利用
bindtap
方法,點(diǎn)擊立即觸發(fā)事件。
// index.js copyText(e) { let key = e.currentTarget.dataset.key; wx.setClipboardData({ //設(shè)置系統(tǒng)剪貼板的內(nèi)容 data: key, success(res) { console.log(res, key); wx.getClipboardData({ // 獲取系統(tǒng)剪貼板的內(nèi)容 success(res) { wx.showToast({ title: '復(fù)制成功', }) } }) } }) }
注:樣式可自行添加適合的樣式
效果:
二、引入外部組件的實(shí)現(xiàn)方式
select-text
可選文本組件。該組件有兩種使用模式:長按出現(xiàn)選區(qū),與瀏覽器默認(rèn)效果一致;長按出現(xiàn)復(fù)制按鈕,點(diǎn)擊復(fù)制拷貝全部內(nèi)容至剪貼板,常見于聊天對(duì)話框等場景。
需注意的時(shí),為實(shí)現(xiàn)點(diǎn)擊其它區(qū)域隱藏復(fù)制按鈕,開發(fā)者可在頁面最外層監(jiān)聽 tap 事件,并將 evt 對(duì)象賦值給 on-document-tap。
安裝
npm install @miniprogram-component-plus/select-text
在頁面 page.json 中
// page.json { "usingComponents": { "mp-select-text": "@miniprogram-component-plus/select-text" } }
在頁面index.wxml中
<view bind:tap="handleTap"> <view class="demo-block"> <block wx:for="{{arr}}" wx:key="placement"> <view class="list-item"> <mp-select-text show-copy-btn placement="{{item.placement}}" value="{{item.value}}" data-id="{{index}}" bindcopy="onCopy" on-document-tap="{{evt}}" > </mp-select-text> </view> </block> <view class="list-item"> <mp-select-text value="默認(rèn)的長按效果與瀏覽器一致"></mp-select-text> </view> </view> </view>
效果
具體實(shí)現(xiàn)請參考:select-text組件
趕快去試試吧~
總結(jié)
到此這篇關(guān)于微信小程序?qū)崿F(xiàn)文字長按復(fù)制與一鍵復(fù)制功能的文章就介紹到這了,更多相關(guān)微信小程序文字長按復(fù)制與一鍵復(fù)制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS獲取當(dāng)前時(shí)間的年月日時(shí)分秒及時(shí)間的格式化的方法
這篇文章主要介紹了js獲取當(dāng)前時(shí)間的年月日時(shí)分秒及時(shí)間的格式化,本文通過實(shí)例代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12TypeScript?類型斷言的幾種實(shí)現(xiàn)
本文主要介紹了TypeScript?類型斷言的實(shí)現(xiàn),有使用關(guān)鍵字as和標(biāo)簽<>兩種方式,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01淺析JavaScript中回調(diào)地獄與asyn函數(shù)和await函數(shù)原理
這篇文章主要介紹了JavaScript中回調(diào)地獄與asyn函數(shù)和await函數(shù)原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01基于jquery實(shí)現(xiàn)導(dǎo)航菜單高亮顯示(兩種方法)
本篇文章是基于jquery實(shí)現(xiàn)導(dǎo)航菜單高亮顯示,當(dāng)點(diǎn)擊不同導(dǎo)航菜單實(shí)現(xiàn)當(dāng)前點(diǎn)擊的菜單是高亮的,有需要的朋友可以關(guān)注下本文2015-08-08利用element-ui實(shí)現(xiàn)遠(yuǎn)程搜索兩種實(shí)現(xiàn)方式
這篇文章主要介紹了利用element-ui的兩種遠(yuǎn)程搜索實(shí)現(xiàn)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-12-12js時(shí)間戳轉(zhuǎn)yyyy-MM-dd HH-mm-ss工具類詳解
這篇文章主要介紹了js時(shí)間戳轉(zhuǎn)yyyy-MM-dd HH-mm-ss工具類,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04JavaScript實(shí)現(xiàn)串行請求的示例代碼
這篇文章主要介紹了JavaScript實(shí)現(xiàn)串行請求的示例代碼,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-09-09JavaScript實(shí)現(xiàn)數(shù)組全排列、去重及求最大值算法示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)數(shù)組全排列、去重及求最大值算法,結(jié)合實(shí)例形式分析了JavaScript針對(duì)數(shù)組的遞歸、遍歷、排序等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07JS實(shí)現(xiàn)勻加速與勻減速運(yùn)動(dòng)的方法示例
這篇文章主要介紹了JS實(shí)現(xiàn)勻加速與勻減速運(yùn)動(dòng)的方法,涉及javascript結(jié)合時(shí)間函數(shù)與數(shù)學(xué)運(yùn)算動(dòng)態(tài)操作頁面元素樣式的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09微信小程序?qū)崿F(xiàn)菜單左右聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)菜單左右聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05