js对需要换行的文本进行复制

从输入框复制文本出来并且让文本呈现达到业务需求
首先需要一个textarea文本域和一个按钮
如果只是单纯的手动换行在文本域里

例子

<body>
    <textarea id="paycallback_url" class="form-control" readonly="readonly"style="resize: none; height:200px;width:100%;">
        11111111111111111111111111
        22222222222222222222222222
        33333333333333333333333333
        11221344444444444444444444
    </textarea>  
    <button id="CopyBtn">复制</button>
</body>
<script>
    document.querySelector('#CopyBtn').onclick = function () {
        var dd = document.querySelector('#paycallback_url');
        dd.select();
        document.execCommand("Copy");
        alert('复制成功');
    }
</script>

结果
在这里插入图片描述
因为代码里前面有空格所以复制出来也是有空格的

如果写成下面这样

<body>
    <textarea id="paycallback_url" class="form-control" readonly="readonly"style="resize: none; height:200px;width:100%;">
11111111111111111111111111
22222222222222222222222222
33333333333333333333333333
11221344444444444444444444
    </textarea>  
    <button id="CopyBtn">复制</button>
</body>
<script>
    document.querySelector('#CopyBtn').onclick = function () {
        var dd = document.querySelector('#paycallback_url');
        dd.select();
        document.execCommand("Copy");
        alert('复制成功');
    }
</script>

结果
在这里插入图片描述
可以达到没有空格的效果但是代码又不太舒服
并且我们的场景是需要后端动态传值的传过来的文本复制出来是不会换行的

例子

<body>
    <textarea id="paycallback_url" class="form-control" readonly="readonly"style="resize: none; height:200px;width:100%;"></textarea>  
    <button id="CopyBtn">复制</button>
</body>
<script>
    document.querySelector('#CopyBtn').onclick = function () {
        var dd = document.querySelector('#paycallback_url');
        dd.select();
        document.execCommand("Copy");
        alert('复制成功');
    }
    // 模拟数据
document.querySelector("#paycallback_url").value = `1111111111111111111111111/n22222222222222222222222222/r3333333333333333333333333311221344444444444444444444`;
</script>

结果
在这里插入图片描述

换行符和回车符都是没有效果的
最后 我们通过ASCLL码来替代/n
例子

<body>
    <textarea id="paycallback_url" class="form-control" readonly="readonly"style="resize: none; height:200px;width:100%;">
    
    </textarea>  
    <button id="CopyBtn">复制</button>
</body>
<script>
    document.querySelector('#CopyBtn').onclick = function () {
        var dd = document.querySelector('#paycallback_url');
        dd.select();
        document.execCommand("Copy");
        alert('复制成功');
    }
    // 模拟数据
document.querySelector("#paycallback_url").value = "1111111111111111111111111" + String.fromCharCode(10) + "22222222222222222222222222/r3333333333333333333333333311221344444444444444444444";
</script>

在这里插入图片描述
完美达到预期效果
如果服务端是TP的话还可以更简洁

    <textarea id="paycallback_url" class="form-control" readonly="readonly"
    style="resize: none; height:200px;width:100%;opacity: 0;"
    >{$copyRow.id}&#10;{$copyRow.game_name}&#10;{$copyRow.sign_key}&#10;</textarea>

assign过来直接复制即可
如果发现文章有问题欢迎指正交流,看完点个赞一起学习一起进步,感谢大家的阅读~~

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值