刚开始接触laya,刚好项目中要实现一个一键复制玩家地址的功能,在网上查了一些资料,现在H5和小游戏上面普遍使用的方法有两种,1.clipboard  2.使用document.execCommand。归根结底clipboard也是使用了第二种方法,只是做了一层包装。我之前曾经尝试第二种方法,document.execCommand这个执行的返回值只是表示当前运行环境(网页,手机)是否支持这个命令,我调用之后,并没有把我想要复制的文本复制到剪切板。查了很久都不懂是为啥,最后还是选用了第一种方法(如有大神用第二种方法实现了的话,望留言赐教一把)。

  • 先去git上将工程下载下来。
  • 将dist文件夹中的clipboard.js文件移植到Laya工程的 bin下的libs目录中并在index.js中加入以下代码
loadLib("libs/clipboard.js")
  • 注意要放在loadLib("js/bundle.js")之前
  • 在需要用到该功能的laya界面代码中加入以下代码。项目是用AS3编写,用其他语言的转换以下就可以了
public function InitCopy():void
{var layaContainer = Laya.Browser.getElementById("layaContainer");this.btnCopy = Browser.createElement("button");//生成一个按钮this.btnCopy.id = "btnCopy";this.btnCopy.className = "btnCopy";//指定class属性this.btnCopy.style.position = "absolute";this.btnCopy.style["font-size"] = '28px';this.btnCopy.style.color = '#ffffff';this.btnCopy.style["opacity"] = '0';var that = this;layaContainer.appendChild(this.btnCopy);//把按钮添加到layacontainer中fitDOM();//初始化的时候先将按钮和laya的按钮映射一把。var _btnCopy = new window.ClipboardJS('.btnCopy',{text:function(){return "想要复制的文本信息";}});// 每次舞台尺寸变更时,都会调用Utils.fitDOMElementInArea设置copy按钮位置Laya.stage.on(Laya.Event.RESIZE, this, this.fitDOM);
}
  • 在这里要注意下就是 new window.ClipboardJS 中的代码块必须用js来编写。之前试过用as3来,结果不识别。
  • fitDOM()主要是把创建的复制按钮和laya的按钮做1个映射
//适配copy按钮
public function fitDOM():void
{Utils.fitDOMElementInArea(this.btnCopy, xxxxxBtnObj, 0, 0, xxxxxBtnObj.width, xxxxxBtnObj.height);
}

这样,打开这个界面的时候调用一把InitCopy就会生成1个按钮和对应的按钮映射在一起,点击就可以将想要复制的文本信息复制到剪切板了,亲测可用。

Laya 一键复制文本功能相关推荐

  1. 实现一键复制文本功能(laya、egret、cocos)

    实现一键复制文本功能(laya.egret.cocos) 如果想转请评论留个言并注明原博 @Sclifftop @13805064305 维尼 https://blog.csdn.net/S_clif ...

  2. 小程序文字长按识别复制和自定义一键复制文本功能

    1.文字长按识别复制: 把需要长按复制的文字用text标签包裹,然后添加selectable="true"属性即可 但是这个属性有些缺点,就是长按后不可以直接全选中文本内容进行复制 ...

  3. JS一键复制粘贴功能

    使用clipboard.js 实现: 它是一个不需要Flash,就能实现文本复制或者剪切到剪切板的轻量级插件: 具体实例: 可以使用cdn 或者直接下载 设置好引用路径. <!DOCTYPE h ...

  4. js实现粘贴板js插件clipboard.js实现一键复制粘贴功能

    js实现粘贴板js插件clipboard.js实现一键复制粘贴功能 简介 下载 引入插件 使用 一个节点的复制 多个节点的复制 剪切文本框 复制输入框 简介 clipboard.js 提供了一种更好. ...

  5. 小程序 - 实现【一键复制】功能

    小程序 - 实现[一键复制]功能 为啥想起使用[一键复制]功能?因为个人小程序里,不许加外链接,很是头疼,就想到一键复制链接,这是我刚写的一个减一的小程序: 使用[一键复制]: wxml 文件: &l ...

  6. 记录一下微信小程序-一键复制链接功能

    记录一下微信小程序-一键复制链接功能 //首先是小程wxml文件<button bindtap="copyBtn" data-id="下载链接" clas ...

  7. pc端VUE实现一键复制内容功能

    接到一个需要,需要在pc端实现一键复制粘贴功能,如图所示: 当我点击复制按钮时,会提示"复制成功",这样复制的内容就可以在其他地方使用了 具体实现方法如下: 我写了一个公共的方法 ...

  8. uniapp一键复制文本内容以及下载所有图片或视频

    最近在完成公司项目时遇到了一个需求,要求一键复制广告的文本和广告内的所有图片 解决方法如下: 第一步:在点击按钮处,点击时传参,分别时双向绑定的文本内容,图片视频地址, <button clas ...

  9. js实现点击一键复制文本

    一.功能描述 点击按钮,实现一键复制div元素中的文本内容,并且可以实现粘贴. 为了体现出粘贴功能,添加一个input框,精赋值的内容粘贴到input框里 二.代码实现 html部分 <div ...

最新文章

  1. 流量调整和限流技术 【转载】
  2. CSDN湘苗培优|成长,从走出舒适区开始
  3. 国内有没有能媲美Jira的测试管理工具?我们找国内产品来测评一下
  4. 艾伟也谈项目管理,如何做一个合格的项目经理
  5. mxnet自定义训练日志
  6. python【蓝桥杯vip练习题库】BASIC-17矩阵乘法(枚举)
  7. oracle对sga统计信息不对,关于oracle sga设置的总结,很经典--转
  8. python大数据分析实例-Python大数据处理案例
  9. 实现一个EventTarget类
  10. Anaconda 查找安装的环境,以及移除旧环境命令
  11. 基于matlab水轮机期刊,基于MATLAB/SIMULINK的水轮机调节系统寻优
  12. android 约束布局的坑,android - 使用android约束布局2.0.0 Flow将项目放置一行 - 堆栈内存溢出...
  13. retain/copy/assign区别
  14. Sanic 连接postgresql数据库
  15. 四川首例 “自贡话智能语音识别系统”在检察院投用
  16. 第4章 最基础的分类算法-k近邻算法 kNN 学习笔记 上
  17. linux由哪些部分组成,linux内核处于什么位置?,Linux由几部分组成?Linux系统结构介绍!...
  18. Google Code Review 处理代码审查中的推回
  19. c语言课程设计--太空战机,基于Funcode平台的软件课程设计
  20. VIN码识别,车架号识别,移动端VIN码识别独家支持云识别

热门文章

  1. 漫画创作软件:Comic Strip Factory for Mac
  2. C++ 多继承的二义性问题
  3. 第一份工作什么最重要?工资
  4. 这台电脑无法运行windows11完美解决方法
  5. 范德蒙德行列式推导过程
  6. 【调剂】云南农业大学关于2023年招收硕士研究生调剂通告(一)
  7. 实时监控文本框输入字数
  8. ChatGTP带我去旅游
  9. java邮箱发送_java邮箱发送报错
  10. 图解来啦!机器学习工业部署最佳实践!10分钟上手机器学习部署与大规模扩展 ⛵