mui 长按复制内容多处复用

APP项目中突然新增一个需求,就是需要被选中的地方长按支持复制功能,然后就是开始各种大搜索,结果找到一种支持复制当前选中的所有的内容,我这边就当作笔记记录下来,同时也公开,希望能帮助你们。

首先需要在mui.init里面设置对应的属性gestureConfig里面的longtap,这个longtap默认的值为false,也就是默认是关闭长按功能。

mui.init({
         gestureConfig: {
                  longtap: true //默认为false
         }
});

然后给需要复制内容的标签中class里面添加copy-text,然后监听class里面有copy-text的标签,然后每次触发事件都会使用innerText 获取纯文本,对于多地方需要实现长按复制,所有我将这个方法放在config.js文件中进行复用。代码如下:

function copyText(){

        mui('body').on('longtap', '.copy-text', function () { 
          var copy_content = this.innerText;
          var btnArray = ['确认', '取消'];
          mui.confirm('您确定要复制该标题内容吗?', '提示', btnArray, function (e) {
                   if (e.index == 0) { 
                            //判断是安卓还是ios 
                            if (mui.os.ios) { // ios 
                                     var UIPasteboard = plus.ios.importClass("UIPasteboard"); 
                                     var generalPasteboard = UIPasteboard.generalPasteboard();
                                     generalPasteboard.plusCallMethod({ setValue: copy_content, forPasteboardType: "public.utf8-plain-text" }); 
                                     generalPasteboard.plusCallMethod({ valueForPasteboardType: "public.utf8-plain-text" }); 
                                     mui.toast('复制成功') 
                            } else { //安卓
                                     var context = plus.android.importClass("android.content.Context"); 
                                     var main = plus.android.runtimeMainActivity(); 
                                     var clip = main.getSystemService(context.CLIPBOARD_SERVICE); 
                                     plus.android.invoke(clip, "setText", copy_content); 
                                     mui.toast('复制成功') 
                            } 
                   } 
         }) 
 })

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值