Kaynağa Gözat

网页复制功能提交,红包码条目增加复制功能

薛鸿潇 5 yıl önce
ebeveyn
işleme
09fb17bb1c

+ 1 - 0
assets/script/game/module/module/redBagCode/RedBagCode.ts

@@ -16,6 +16,7 @@ export default class RedBagCode extends cc.Component {
         this.initList();
     }
 
+    
     /**
      * 初始化滚动列表
      */

+ 2 - 1
assets/script/game/module/module/redBagCode/RedBagCodeItem.ts

@@ -1,3 +1,4 @@
+import JsbSystem from "../../../../mk/system/JsbSystem";
 
 const { ccclass, property } = cc._decorator;
 /**
@@ -35,7 +36,7 @@ export default class RedBagCodeItem extends cc.Component {
      * 复制按钮
      */
     private clickCopy() {
-        cc.log('复制内容')
+        JsbSystem.setClipboard('AABBAA')
     }
     // update (dt) {}
 }

+ 34 - 0
assets/script/mk/system/JsbSystem.ts

@@ -139,6 +139,40 @@ export default class JsbSystem {
         else if (cc.sys.os == cc.sys.OS_IOS) {
 
         }
+        else if (cc.sys.isBrowser) {
+            var input = str;
+            const el: any = document.createElement('textarea');
+            el.value = input;
+            el.setAttribute('readonly', '');
+            el.style.contain = 'strict';
+            el.style.position = 'absolute';
+            el.style.left = '-9999px';
+            el.style.fontSize = '12pt';
+
+            const selection = getSelection();
+            var originalRange: any = false;
+            if (selection.rangeCount > 0) {
+                originalRange = selection.getRangeAt(0);
+            }
+            document.body.appendChild(el);
+            el.select();
+            el.selectionStart = 0;
+            el.selectionEnd = input.length;
+
+            var success = false;
+            try {
+                success = document.execCommand('copy');
+            } catch (err) { }
+
+            document.body.removeChild(el);
+
+            if (originalRange) {
+                selection.removeAllRanges();
+                selection.addRange(originalRange);
+            }
+
+            return success;
+        }
     }
 
     /**