国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑龙江省| 嘉禾县| 万荣县| 盖州市| 买车| 长白| 梨树县| 改则县| 务川| 波密县| 合川市| 贡觉县| 平山县| 凤翔县| 郸城县| 新兴县| 上饶市| 霍城县| 广饶县| 客服| 菏泽市| 磴口县| 天峻县| 安多县| 阿图什市| 义乌市| 米林县| 措勤县| 弥勒县| 昭通市| 恩平市| 博兴县| 龙口市| 武山县| 柘荣县| 昌宁县| 凤庆县| 勐海县| 宝丰县| 崇仁县| 杭州市|