国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

js實現點擊按鈕復制文本功能

2024-05-06 16:43:44
字體:
來源:轉載
供稿:網友

最近遇到一個需求,需要點擊按鈕,復制 <p> 標簽中的文本到剪切板

之前做過復制輸入框的內容,原以為差不多,結果發現根本行不通

嘗試了各種辦法,最后使了個障眼法,實現了下面的效果

js點擊按鈕復制文本,js點擊按鈕復制,js復制文本

一、原理分析

瀏覽器提供了 copy 命令 ,可以復制選中的內容

document.execCommand("copy")

如果是輸入框,可以通過 select() 方法,選中輸入框的文本,然后調用  copy 命令,將文本復制到剪切板

但是 select() 方法只對 <input> 和 <textarea> 有效,對于 <p> 就不好使

最后我的解決方案是,在頁面中添加一個 <textarea>,然后把它隱藏掉

點擊按鈕的時候,先把 <textarea> 的 value 改為 <p> 的 innerText,然后復制 <textarea> 中的內容 

二、代碼實現

HTML 部分

<style type="text/css">  .wrapper {position: relative;}  #input {position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;}</style><div class="wrapper">  <p id="text">我把你當兄弟你卻想著復制我?</p>  <textarea id="input">這是幕后黑手</textarea>  <button onclick="copyText()">copy</button></div>

JS 部分

<script type="text/javascript">  function copyText() {   var text = document.getElementById("text").innerText;   var input = document.getElementById("input");   input.value = text; // 修改文本框的內容   input.select(); // 選中文本   document.execCommand("copy"); // 執行瀏覽器復制命令   alert("復制成功");  } </script>

親測,Firefox 48.0,Chrome 60.0,IE 8 都能用

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 夏邑县| 马关县| 西盟| 乐都县| 大荔县| 上饶市| 天台县| 利川市| 炉霍县| 永寿县| 交城县| 巴林右旗| 徐闻县| 宿松县| 山西省| 台安县| 阿荣旗| 吉林省| 惠水县| 项城市| 玛纳斯县| 陇川县| 义乌市| 永寿县| 航空| 利川市| 云南省| 定边县| 武定县| 定边县| 武功县| 隆安县| 蒲江县| 金湖县| 渭源县| 汉源县| 达拉特旗| 湄潭县| 张北县| 上杭县| 三台县|