国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

純js 文本復(fù)制功能

Winer / 2413人閱讀

摘要:最近在項(xiàng)目中需要點(diǎn)擊復(fù)制的功能,然后百度看了一下網(wǎng)上的各種方法,有引用插件的不太理想,一個(gè)功能就引用一個(gè)插件,代碼太冗余了,有自己封裝的可能技術(shù)發(fā)展比較快,有些都失效了,但是根據(jù)他們的介紹,自己找到相關(guān)的,總結(jié)了一下,適用于方法一使用和對(duì)象

最近在項(xiàng)目中需要點(diǎn)擊復(fù)制的功能,然后百度看了一下網(wǎng)上的各種方法,有引用插件的(不太理想,一個(gè)功能就引用一個(gè)插件,代碼太冗余了),有自己封裝的(可能技術(shù)發(fā)展比較快,有些都失效了),但是根據(jù)他們的介紹,自己找到相關(guān)的API,總結(jié)了一下,適用于Chrome Firefox (Gecko) Internet Explorer(9+) Opera Safari

方法一:使用Selection和Range對(duì)象 第一步
創(chuàng)建一個(gè)Range對(duì)象
let range = document.createRange()
// 傳入需要選中的元素節(jié)點(diǎn)
range.selectNodeContents(Node節(jié)點(diǎn))
創(chuàng)建一個(gè)Selection對(duì)象
var selection = document.getSelection()
// 清空選中的區(qū)域
selection.removeAllRanges()
// 添加選中區(qū)域
selection.addRange(range)
調(diào)用復(fù)制
document.execCommand("Copy")
Code
function copyHandler(node){
    let range = document.createRange()
    range.selectNodeContents(node)
    let selection = document.getSelection()
    selection.removeAllRanges()
    selection.addRange(range)
    document.execCommand("Copy")
}

方法二:使用input和textarea元素的select()方法
弊端

需要?jiǎng)?chuàng)建多余的標(biāo)簽,而且input和textarea必須顯示,設(shè)置以下任何一個(gè)樣式都不起作用:

display:none
visibility:hidden
width:0
height:0

還是直接上代碼看吧

html
fa020e90e7de4bd0d399ezvzvvzvz58a5fab92f7