微信小程序实现文字长按复制与一键复制功能全过程

目录
  • 一、不引入外部组件的实现方式
  • 二、引入外部组件的实现方式
  • 总结

一、不引入外部组件的实现方式

 <!-- index.wxml -->
<view>
  <!-- 长按复制 -->
  <view bindlongtap="copyText" data-key="{{item.cdkey}}">{{ item.cdkey }}</view>
  <text bindlongtap="copyText" data-key="{{item.cdkey}}">{{ item.cdkey }}</text>
   <!-- 一键复制 -->
  <view bindtap="copyText" data-key="{{item.cdkey}}" > 复制 </view>
</view>
  • 长按复制 可利用 bindlongtap 方法,手指长按 500ms 之后触发事件。
  • 一键复制 可利用 bindtap 方法,点击立即触发事件。
// index.js
 copyText(e) {
    let key = e.currentTarget.dataset.key;
    wx.setClipboardData({ //设置系统剪贴板的内容
      data: key,
      success(res) {
        console.log(res, key);
        wx.getClipboardData({ // 获取系统剪贴板的内容
          success(res) {
            wx.showToast({
              title: '复制成功',
            })
          }
        })
      }
    })
  }

注:样式可自行添加适合的样式

效果:

二、引入外部组件的实现方式

select-text

可选文本组件。该组件有两种使用模式:长按出现选区,与浏览器默认效果一致;长按出现复制按钮,点击复制拷贝全部内容至剪贴板,常见于聊天对话框等场景。

需注意的时,为实现点击其它区域隐藏复制按钮,开发者可在页面最外层监听 tap 事件,并将 evt 对象赋值给 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="默认的长按效果与浏览器一致"></mp-select-text>
    </view>
  </view>
</view>

效果

具体实现请参考:select-text组件

赶快去试试吧~

总结

到此这篇关于微信小程序实现文字长按复制与一键复制功能的文章就介绍到这了,更多相关微信小程序文字长按复制与一键复制内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解微信小程序之一键复制到剪切板

    最近在开发小程序项目里遇到一个小难题-----一键复制 在网页开发里 我们可以引用大牛封装好的复制插件,比如无flash插件clipboard.js适用移动端,pc端------- 言归正装,打开微信开发文档打开-APi即可查询到: 第一个是设置要复制的内容到剪切板,第二个是获取剪切板的内容,我们要用到的是第一个设置剪切板内容: 1. <text class="tblin_items_txt" selectable="true">{{detail.tao

  • 微信小程序实现的一键复制功能示例

    本文实例讲述了微信小程序实现的一键复制功能.分享给大家供大家参考,具体如下: 微信小程序不支持页面复制功能,故要实现某些信息的复制,需要开发复制功能 微信小程序中复制一般采用调用  wx.setClipboardData 接口 实现功能如下: 1,.wxml里写一个复制按钮 <button bindtap="copy"> 一键复制 </button> 2, .js里写复制功能 copy: function (e) { var that = this; wx.se

  • 微信小程序实现文字长按复制与一键复制功能全过程

    目录 一.不引入外部组件的实现方式 二.引入外部组件的实现方式 总结 一.不引入外部组件的实现方式 <!-- index.wxml --> <view> <!-- 长按复制 --> <view bindlongtap="copyText" data-key="{{item.cdkey}}">{{ item.cdkey }}</view> <text bindlongtap="copyText

  • 微信小程序实现文字跑马灯效果

    本文实例为大家分享了微信小程序实现文字跑马灯的具体代码,供大家参考,具体内容如下 效果 wxml <view>1 显示完后再显示</view> <view class="example"> <view class="marquee_box"> <view class="marquee_text" style="{{orientation}}:{{marqueeDistance}}px

  • 微信小程序实现文字从右向左无限滚动

    本文实例为大家分享了微信小程序实现文字无限滚动的具体代码,供大家参考,具体内容如下 布局页面wxml <scroll-view class="container"> <view class="scrolltxt"> <view class="marquee_box"> <view class="marquee_text" style="transform: translate

  • 微信小程序实现文字无限轮播效果

    本文实例为大家分享了微信小程序实现文字无限轮播展示的具体代码,供大家参考,具体内容如下 .JS文件  onLoad中添加下列代码 var self = this; var width = wx.getSystemInfoSync().screenWidth; function carousel_num() { var animation = wx.createAnimation({ transformOrigin: "50% 50%", duration: 5000, timingFu

  • 微信小程序webview实现长按点击识别二维码功能示例

    本文实例讲述了微信小程序webview实现长按点击识别二维码功能.分享给大家供大家参考,具体如下: 场景:微信小程序,使用webview控件.需求:点击图片后长按图片出现"识别二维码" 1.JS代码: <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <script type="text/javascript"> $(fu

  • java与微信小程序实现websocket长连接

    本文实例为大家分享了java与微信小程序实现websocket长连接的具体代码,供大家参考,具体内容如下 背景: 需要在小程序实现地图固定坐标下实时查看消息 java环境 :tomcat7 jdk1.7 1.java websocket 类 package com.qs.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.

  • 微信小程序实现文字滚动

    本文实例为大家分享了微信小程序实现文字滚动的具体代码,供大家参考,具体内容如下 wxml: <view>显示完后再显示:</view> <view class="example"> <view class="box"> <view class="text" style="{{orientation}}:{{marqueeDistance}}px;font-size: {{size}}

  • 微信小程序实现可长按移动控件

    微信小程序可长按移动控件,供大家参考,具体内容如下 –包含超出边界监测,性能不够理想[原因:setData在毫秒级刷新时会极大程度影响渲染性能] Javascript Page({ /** * 页面的初始数据 */ data: { //浮动按钮坐标 flow_y: 130, flow_x: 20, pre_y:0, pre_x:0, //标记移动 moveFlag: false, //标记控件是否可放置 canNotPlace: false, imgSrc:"", }, //长按按钮移

  • 微信小程序实现文字跑马灯

    前言 要实现跑马灯主要就是获得判断开始定界和结束定界, 1.9.3新增的wxml操作接口 就可以拿到节点长宽等属性,当然你也可以直接用 文字数量 * 文字大小(注意字体的单位px,rpx). 效果图 短字 长字 wxml <view class="content"> <text class="every" decode="{{true}}" style="right:{{announZf}}{{announNum}}p

  • 微信小程序实现简单文字跑马灯

    本文实例为大家分享了微信小程序实现文字跑马灯 的具体代码,供大家参考,具体内容如下 效果如图 WXML <scroll-view class="container"> <view class="scrolltxt"> <view class="marquee_box"> <view class="marquee_text" style="transform: translat

随机推荐