javascript 點選觸發複製功能
阿新 • • 發佈:2021-09-01
這功能只要是使用
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