1. 程式人生 > 其它 >javascript 點選觸發複製功能

javascript 點選觸發複製功能

這功能只要是使用

document.execCommand("copy", false);  
這個是一個很強大的方法,瞭解更多請戳:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/execCommand

正文:

呼叫以上方法,就實現了copy功能,可是,在呼叫之前,你需要先選中需要複製的內容。

選中需要複製的內容可使用select()方法,然而該方法只能選中input或者textarea標籤裡的內容。

因此,如果你想實現點選一個按鈕,就複製一段話的功能

第一:如果這段話是被input或textarea標籤包裹,則可以直接只用select(),

第二:如果是其他任意標籤包裹的話,則需要新creat一個input標籤,給該input標籤賦value,然後使用select()方法,最後將該input標籤remove了。

function copy(that){
var inp =document.createElement('input'); // create input標籤
document.body.appendChild(inp) // 新增到body中
inp.value =that.textContent // 給input設定value屬性為需要copy的內容
inp.select(); // 選中
document.execCommand('copy',false); // copy已經選中的內容
inp.remove(); // 刪除掉這個dom
}

<p onclick="copy(this)">hello man</p>

  

1:select()使用範圍;

2:刪除一個dom,使用node.remove();

3:呼叫複製功能使用document.execCommand()方法;

參考連結:

https://stackoverflow.com/questions/45071353/javascript-copy-text-string-on-click