JavaScript中的简单复制粘贴功能

时间:2011-04-07 09:57:16

标签: javascript copy-paste

如何在JavaScript中对文本进行简单的复制和粘贴?我希望在textarea中选择一些文本时实现这一点,然后我可以点击按钮进行复制,然后我可以转到另一个页面右键单击另一个textarea并选择粘贴。

5 个答案:

答案 0 :(得分:2)

看看这个图书馆:https://github.com/zeroclipboard/zeroclipboard

您无法使用JavaScript访问剪贴板,这意味着闪存或多或少是您唯一的选择。

答案 1 :(得分:1)

使用此

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

它是一个简单的复制和粘贴功能。它与IE一起运作良好。

我希望对你有所帮助

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我认为最简单的方法(并且在所有浏览器中工作)是观看用户按下的按键,如果他按下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
        }

    }

答案 4 :(得分:0)

看看this MDN article

如果您只想复制用户选择的文本,则可以执行以下操作:

document.execCommand("copy");

如果您需要事先选择它:

document.getElementById('txToPaste').select();
  • 就我而言,此代码无效-事实证明select()disabled输入无效。

  • 如果您是通过onClick事件监听器运行的,则不需要任何特殊权限,如果您希望另一个事件触发该副本,则会有些麻烦。

  • 它在Firefox和chrome上对我有效,MDN表示它不适用于Safari,但我尚未对其进行测试。