簡體   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