2016-11-07 56 views
0

我試圖從textarea複製文本而不必單擊按鈕。我正在使用execCommand('copy'),我可以讓它複製文本,但只有當按鈕被點擊,而不是以編程方式。僅使用execCommand在按鈕單擊時複製文本

有沒有辦法做到這一點?

var button = document.querySelector('button'); 
 
var area = document.querySelector('textarea'); 
 

 
button.addEventListener("click", function(){ 
 
    area.select(); 
 
    var msg = document.execCommand('copy') ? "successful" : "unsuccessful"; 
 
    console.log("Copy " + msg); 
 
}); 
 

 
button.click(); // Does not copy successfully
<textarea>Text to Copy</textarea> 
 
<button>Copy</button>

回答

0

沒有,到剪貼板的變化必須由用戶發起。

參見:https://w3c.github.io/editing/execCommand.html#dfn-the-copy-command

複製命令,從document.execCommand觸發()只會影響到真剪貼板的 的內容,如果該事件是從由用戶信賴和觸發的 事件調度,或者如果 實現配置爲允許這樣做。如何配置實現 以允許對剪貼板的寫入訪問超出了本規範的範圍 。