繁体   English   中英

简单复制粘贴function到JavaScript

[英]Simple copy paste function in JavaScript

如何对 JavaScript 中的文本进行简单的复制和粘贴? 我想实现的是,当我 select 文本区域中的一些textarea时,我可以单击一个按钮将其复制,然后我可以 go 到另一个页面右键单击另一个textarea并选择粘贴。

看看这个库: https : //github.com/zeroclipboard/zeroclipboard

您无法在 JavaScript 中访问剪贴板,这意味着 Flash 或多或少是您唯一的选择。

尝试这个:

 function copy() { if(window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("Text", document.getElementById('txToCopy').value); } } function paste() { if(window.clipboardData) { document.getElementById('txToPaste').value = window.clipboardData.getData("Text"); } }
 <a href="javascript:copy();">Copy</a> <br /> <input type="text" name="txToCopy" id ="txToCopy"/> <br /><br /> <a href="javascript:paste();">Paste</a> <br /> <input type="text" name="txToPaste" id="txToPaste"/>

这是一个简单的复制和粘贴功能。 它在 IE 中运行良好。

我希望它能帮助你。

我认为最简单的方法(并在所有浏览器中工作)是观察用户按下的键,如果他按下 CTRL+C,保存一些你想复制到某个变量中的数据。

我的意思是这样的:

    var myClipboardVariable;

    document.onkeyup = function(e){

        if ((e.key == 'c') && e.ctrlKey){
            // save data (you want to copy) into variable
            myClipboardVariable = ....//some data
        }

        if ((e.key == 'v') && e.ctrlKey){
            // paste saved data
            .... paste your data from variable myClipboardVariable
        }

    }

假设您想获取用户键盘操作,您可能想使用热键: https : //github.com/jeresig/jquery.hotkeys

看看这篇 MDN 文章

如果您只想复制用户选择的文本,您可以:

document.execCommand("copy");

如果您需要之前选择它:

document.getElementById('txToPaste').select();
  • 在我的情况下,此代码不起作用 - 结果select()不适用于disabled输入。

  • 如果您从onClick事件侦听器运行它,则不需要任何特殊权限,如果您希望另一个事件触发副本,您就有点麻烦了。

  • 它在 Firefox 和 chrome 上对我有用,MDN 说它对 safari 不起作用,但我还没有测试过。

您可以为此使用剪贴板 API,

//copy
navigator.clipboard.writeText("yuuhhhh");
//paste ,this needs user permission 
navigator.clipboard.readText()

现在你可以使用.then function 做任何你想做的事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM