摘要: js調用複製功能使用: document.execCommand()方法功能很強大,瞭解更多請戳:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/execCommand 正文: 調用以上方法,就實現了copy功能,可是,在調 ...
摘要:
js調用複製功能使用:
document.execCommand("copy", false);
document.execCommand()方法功能很強大,瞭解更多請戳: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