使用navigator.clipboard.writeText(val)实现复制内容

该代码示例展示了如何在JavaScript中实现文本复制功能。通过给定的‘copy_btn’按钮点击事件,调用`copyValue`函数,使用`navigator.clipboard.writeText`(如果浏览器支持)或创建隐藏textarea来实现复制到剪贴板。当操作成功时,会显示复制成功的提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 先给要复制的文本或者按钮加上点击事件后,并将要复制的值传过来
const copyBtn = document.getElementsByClassName('copy_btn')[0];
const content = window.location.href;
copyBtn.addEventListener('click', function () {
    copyValue(content);
});
function copyValue(val) {
    if (navigator.clipboard && window.isSecureContext) {
        // navigator clipboard 向剪贴板写文本
        alert('复制成功')
        return navigator.clipboard.writeText(val)
    } else {
        // 创建text area
        const textArea = document.createElement('textarea')
        textArea.value = val
        // 使text area不在viewport,同时设置不可见
        document.body.appendChild(textArea)
        textArea.focus()
        textArea.select()
        alert('复制成功')
        return new Promise((res, rej) => {
            // 执行复制命令并移除文本框
            document.execCommand('copy') ? res() : rej()
            textArea.remove()
        })
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值