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

首頁 > 編程 > JavaScript > 正文

js實現(xiàn)點擊按鈕復(fù)制文本功能

2019-11-19 14:01:23
字體:
供稿:網(wǎng)友

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

之前做過復(fù)制輸入框的內(nèi)容,原以為差不多,結(jié)果發(fā)現(xiàn)根本行不通

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

一、原理分析

瀏覽器提供了 copy 命令 ,可以復(fù)制選中的內(nèi)容

document.execCommand("copy")

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

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

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

點擊按鈕的時候,先把 <textarea> 的 value 改為 <p> 的 innerText,然后復(fù)制 <textarea> 中的內(nèi)容 

二、代碼實現(xiàn)

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">我把你當(dāng)兄弟你卻想著復(fù)制我?</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; // 修改文本框的內(nèi)容   input.select(); // 選中文本   document.execCommand("copy"); // 執(zhí)行瀏覽器復(fù)制命令   alert("復(fù)制成功");  } </script>

親測,F(xiàn)irefox 48.0,Chrome 60.0,IE 8 都能用

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泾源县| 景德镇市| 济阳县| 卓尼县| 轮台县| 宝山区| 长治市| 凤冈县| 甘孜| 万荣县| 西平县| 南澳县| 曲麻莱县| 邮箱| 荣昌县| 鄂伦春自治旗| 资兴市| 大竹县| 井陉县| 泾川县| 郑州市| 涿鹿县| 屏山县| 柯坪县| 广丰县| 建水县| 阜平县| 天门市| 册亨县| 剑川县| 永兴县| 泗洪县| 江华| 宁夏| 凤庆县| 东台市| 广德县| 醴陵市| 西峡县| 永昌县| 波密县|