前端jQuery復(fù)制文本到剪貼板功能實(shí)現(xiàn)
功能說(shuō)明:
點(diǎn)擊“復(fù)制”按鈕,獲取當(dāng)前點(diǎn)擊事件的父級(jí)元素(id="block")下子元素(id="textToCopy")下的文本
HTML代碼
<div class="chats">
<div class="block">
<div class="layui-col-xs12 layui-col-sm12 layui-col-md12" style="width: 90%; margin: 0.2rem auto; box-sizing:border-box; display:flex;flex-direction:row;">
<!-- 省略部分代碼 -->
<div id="textToCopy" style="flex: 0.9; line-height: 0.45rem; margin: 0 0.1rem; background: #F5F5F5; padding: 0.1rem; border-radius:5px">
<p>Hello! It seems like you've entered a string of "nnnn." If you have any questions or need assistance</p>
</div>
</div>
<div class="layui-col-xs12 layui-col-sm12 layui-col-md12">
<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" class="copy-link">復(fù)制</a>
</div>
</div>
<div class="block">
<div class="layui-col-xs12 layui-col-sm12 layui-col-md12" style="width: 90%; margin: 0.2rem auto; box-sizing:border-box; display:flex;flex-direction:row;">
<!-- 省略部分代碼 -->
<div id="textToCopy" style="flex: 0.9; line-height: 0.45rem; margin: 0 0.1rem; background: #F5F5F5; padding: 0.1rem; border-radius:5px">
<p>Hello! please feel free to ask, and I'll be happy to help.</p>
</div>
</div>
<div class="layui-col-xs12 layui-col-sm12 layui-col-md12">
<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" class="copy-link">復(fù)制</a>
</div>
</div>
</div> Js代碼
document.addEventListener('DOMContentLoaded', function() {
// 為所有 .block 的父元素添加點(diǎn)擊事件監(jiān)聽,使用事件委托處理 .copy-link 的點(diǎn)擊
document.querySelector('.chats').addEventListener('click', function(e) {
// 檢查點(diǎn)擊的元素是否是我們想要的 .copy-link
if (e.target.matches('.copy-link')) {
// 找到點(diǎn)擊的 .copy-link 所在的 .block
var block = e.target.closest('.block');
// 在 .block 中找到 #textToCopy(注意:ID應(yīng)唯一,這里僅為示例)
var textToCopy = block.querySelector('#textToCopy p');
// 獲取文本內(nèi)容
var text = textToCopy.textContent || textToCopy.innerText;
// console.log(text)
// 使用navigator.clipboard API進(jìn)行復(fù)制(現(xiàn)代瀏覽器)
if (navigator.clipboard) {
navigator.clipboard.writeText(text).then(function() {
console.log('復(fù)制成功');
}, function(err) {
console.error('復(fù)制失敗:', err);
});
} else {
// 對(duì)于不支持Clipboard API的瀏覽器,可以使用舊方法(例如創(chuàng)建一個(gè)臨時(shí)的textarea)
var textarea = document.createElement('textarea');
textarea.value = text;
document.body.appendChild(textarea);
textarea.select();
document.execCommand('copy');
document.body.removeChild(textarea);
console.log('已復(fù)制到剪貼板');
}
}
});
}); 總結(jié)
到此這篇關(guān)于前端jQuery復(fù)制文本到剪貼板功能實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)jq復(fù)制文本到剪貼板內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JQuery+Ajax無(wú)刷新分頁(yè)的實(shí)例代碼
本篇文章主要是對(duì)JQuery+Ajax無(wú)刷新分頁(yè)的實(shí)例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02
jQuery實(shí)現(xiàn)下拉框功能實(shí)例代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)下拉框功能實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-05-05
jQuery遮罩層實(shí)現(xiàn)方法實(shí)例詳解(附遮罩層插件)
這篇文章主要介紹了jQuery遮罩層實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了jQuery遮罩層樣式及功能實(shí)現(xiàn)技巧,并附帶分析了一個(gè)簡(jiǎn)單jQuery遮罩層插件實(shí)現(xiàn)方法,需要的朋友可以參考下2015-12-12
jQuery使用animate實(shí)現(xiàn)ul列表項(xiàng)相互飄動(dòng)效果示例
這篇文章主要介紹了jQuery使用animate實(shí)現(xiàn)ul列表項(xiàng)相互飄動(dòng)效果,結(jié)合實(shí)例形式分析了jQuery使用animate動(dòng)畫切換的操作技巧,需要的朋友可以參考下2016-09-09
jQuery實(shí)現(xiàn)放大鏡效果實(shí)例代碼
在一些電商網(wǎng)站我們都見到使用過(guò)放大鏡來(lái)查看商品詳情,那么基于jquery代碼是如何實(shí)現(xiàn)放大鏡效果的呢?下面由腳本之家小編給大家分享jquery代碼實(shí)現(xiàn)放大鏡效果2016-03-03
jQuery基礎(chǔ)的工廠函數(shù)以及定時(shí)器的經(jīng)典實(shí)例分析
下面小編就為大家?guī)?lái)一篇jQuery基礎(chǔ)的工廠函數(shù)以及定時(shí)器的經(jīng)典實(shí)例分析。小編覺得挺不錯(cuò)的,現(xiàn)在2016-05-05
jquery實(shí)現(xiàn)浮動(dòng)在網(wǎng)頁(yè)右下角的彩票開獎(jiǎng)公告窗口代碼
這篇文章主要介紹了jquery實(shí)現(xiàn)浮動(dòng)在網(wǎng)頁(yè)右下角的彩票開獎(jiǎng)公告窗口代碼,涉及jquery窗體的彈出及隱藏相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
解決jquery的datepicker的本地化以及Today問(wèn)題
解決jquery的datepicker的本地化以及Today問(wèn)題,需要的朋友可以參考下2012-05-05

