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

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


如果想转请评论留个言并注明原博 @Sclifftop @13805064305 维尼 https://blog.csdn.net/S_clifftop/article/details/110437183

用ts写的你自己转一下,我试过了都能用,你直接复制代码就ok,后续会再新增其它的,点个赞不过分吧

网页游戏

其实就是动态创建一个假的控件,我看有些人还要费劲引js什么的,库不会看吗?就是封装了一下,和我这个没差

    /**
     * @author zjw_vinnie
     * @param str 要复制的文本
     * @returns 是否复制成功
     */
    public copyStr(str: string): boolean {
        let input: any = document.createElement('input');
        input.value = str;
        document.body.appendChild(input);
        input.select();
        let success: boolean = false;
        try {
            success = document.execCommand('copy');
        } catch (err) {

        }
        document.body.removeChild(input);
        return success;
    }
微信/QQ小游戏

自有方法,直接调用

    /**
     * @author zjw_vinnie
     * @param str 要复制的文本
     * 如果是qq把下面的wx改下就好了,其实是封装了一层
     */
    function copyStr(str) {
        wx.setClipboardData({
            data: str,
            success(res) { }
          })
    }

维尼聚合工具


LayaAir 中,可以使用 `laya.system.Clipboard` 类来实现复制文本到剪贴板的功能。 具体操作步骤如下: 1. 导入 `laya.system.Clipboard` 类。 ```java import laya.system.Clipboard; ``` 2. 创建 `Clipboard` 对象。 ```java var clipboard:Clipboard = Browser.window.navigator.clipboard; ``` 3. 使用 `writeText` 方法将文本复制到剪贴板。 ```java clipboard.writeText("需要复制文本"); ``` 完整代码示例: ```java import laya.events.Event; import laya.system.Browser; import laya.system.Clipboard; import laya.ui.Button; import laya.utils.Handler; import laya.webgl.WebGL; class Main { constructor() { //初始化引擎 Laya.init(640, 1136, WebGL); //设置适配模式 Laya.stage.scaleMode = "showall"; //设置居中对齐 Laya.stage.alignH = "center"; //设置竖直方向对齐 Laya.stage.alignV = "middle"; //创建按钮 var btn:Button = new Button("res/btn.png", "复制文本"); //设置按钮位置 btn.pos(Laya.stage.width / 2, Laya.stage.height / 2); //将按钮添加到舞台 Laya.stage.addChild(btn); //创建Clipboard对象 var clipboard:Clipboard = Browser.window.navigator.clipboard; //按钮点击事件 btn.on(Event.CLICK, this, function () { //复制文本到剪贴板 clipboard.writeText("需要复制文本"); alert("文本复制到剪贴板!"); }); } } new Main(); ``` 需要注意的是,`Clipboard` 类只能在浏览器环境中使用,因此需要在 `Browser` 对象中获取 `Clipboard` 对象。另外,在使用 `writeText` 方法时,需要保证用户已经进行了交互操作(例如点击按钮),否则会抛出异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值