js 实现复制到粘贴板功能

前言:js 或者 jquery 都可以实现的复制到粘贴板功能,有时还想要有换行等格式(同 textarea)

demo

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<html>

<head>
    <title>测试</title>
</head>

<body>
    <button id="btn1">复制自定义内容到粘贴板</button>

    <br/>
    框1
    <textarea id="txt"></textarea>

    <br/>
    <button id="btn2">复制框1内容到粘贴板</button>

    <br/>
    框2
    <textarea id="txt3"></textarea>
    <button id="btn3">复制框1内容到框2,同时到粘贴板</button>

    <script type="text/javascript">

        window.onload = function(){
            function copyValue(val){
                //如果这里换为 input 则不支持换行
                var temp = document.createElement(‘textarea‘);
                temp.value = val;
                document.body.appendChild(temp);
                temp.select(); // 选择对象
                document.execCommand("Copy"); // 执行浏览器复制命令
                temp.style.display=‘none‘;
                console.log(‘复制成功‘);
            }

            document.getElementById("btn1").onclick = function () {
                copyValue("1234\n复制成功了\n而且有换行的呢");
            };

            document.getElementById("btn2").onclick = function () {
                copyValue(document.getElementById("txt").value);
            };

            function copyValue2(val){
                var oInput = document.getElementById(‘txt3‘);
                oInput.value = val;
                oInput.select(); // 选择对象
                document.execCommand("Copy"); // 执行浏览器复制命令
                console.log(‘复制成功‘);
            }
            document.getElementById("btn3").onclick = function () {
                copyValue2(document.getElementById("txt").value);
            };
        };

    </script>
</body>

</html>

注意:如果需要支持换行则需要用 textarea

原文地址:https://www.cnblogs.com/yuxiaole/p/9301076.html

时间: 2024-10-11 10:51:46

js 实现复制到粘贴板功能的相关文章

zeroclipboard实现多浏览器复制到粘贴板功能

zeroclipboard实现多浏览器复制到粘贴板功能(单个复制按钮和多个复制按钮) 为了更好的用户体验,现在很多网站中文本框的内容只需要点击复制按钮这样就能把内容复制到粘贴板了:出于兼容性的考虑,基本上都是通过zeroclipboard来实现.首先要下载zeroclipboard,解压后把ZeroClipboard.js和ZeroClipboard.swf.ZeroClipboard10.swf(“为了flash10”)放到项目中,可以通过ZeroClipboard.setMoviePath(

js实现复制到粘贴板,兼容各浏览器

网上搜js实现复制粘贴的文章一大堆,但是没几个能用的.有的文章说Clipboard Copy解决,利用一个clipboard.swf作为桥梁,复制内容到剪贴板. 听说的是兼容IE.Firefox.Opera.chrome. Safari,但是必须浏览器支持Flash,考虑到Flash支持不是100%,所以我摒弃了这个方案. 说说我的实现,灵感来自优酷分享的复制,在此之上加以修改的.经测试,支持IE.Firefox.Opera.chrome.搜狗浏览器.360等主流浏览器,Safari是本身不支持

移动端复制到粘贴板

老大是写后台的,让我解决手机端复制到粘贴板的问题,我搞了半天说有兼容问题,不好解决,然后过了一会老大说我找到了一个解决办法,把链接发给我了,让我看一下,哎,搜索关键字很重要啊.下面附上代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="widt

转JS--通过按钮直接把input或者textarea里的值复制到粘贴板里

document.activeElement属性为HTML 5中新增的document对象的一个属性,该属性用于返回光标所在元素.当光标未落在页面中任何元素内时,属性值返回body元素. setSelectionRange(start, end) 设置选中文本起始位置与结束位置 execCommand方法是执行一个对当前文档,当前选择或者给出范围的命令     点击按钮复制textarea文本框中内容 <script type="text/javascript"> func

点击图片直接把图片地址复制到粘贴板

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="robots" c

JS 操作复制剪切粘贴

测试了很多次之后,虽然有点细碎的突破,但还是想说,麻辣隔壁... 众所周知使用 oncut/oncopy/onpaste 监听剪切板,采用 window.clipboardData 并不是适用于大多浏览器, 某天突然发现事件对象 e 中有个 clipboardData 属性,也就是 e.originalEvent.clipboardData,于是才有了今天的尝试, 然而,依旧问题重重呀...先看一段不太舒服的代码. $('.copy').on('beforecopy beforecut befo

javascript copy 复制到粘贴板的方法

1.如果只是实现一个复制的功能呢有一个比较简单的方案废话不说,直接上代码 (pc 推荐) <script type="text/javascript"> function copyUrl2() { var Url2 = document.getElementById("biao1"); Url2.select(); // 选择对象 document.execCommand("Copy"); // 执行浏览器复制命令 } </sc

《JS实现复制内容到剪贴板功能,可兼容所有PC浏览器,不兼容手机端》

前记:本来原生的JS是有提供一个函数来实现这个功能(window.clipboardData),但是很遗憾,这个函数仅仅支持IE和FF浏览器,所以基本用处不大.下边介绍的是一个第三方插件库(ZeroClipboard.js). ZeroClipboard.js在Git上的地址为:https://github.com/zeroclipboard/zeroclipboard 注意:此js库不支持兼容手机端(包括Android.IOS),仅支持PC端浏览器. 第一步:将插件库引入到工程中. 把Git上

Winform调用系统的剪切,复制,粘贴文件功能

// <summary> /// 复制或剪切文件至剪贴板(方法) /// </summary> /// <param name="files">需要添加到剪切板的文件路径数组</param> /// <param name="cut">是否剪切true为剪切,false为复制</param> public static void CopyToClipboard(string[] files, b