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

資訊專欄INFORMATION COLUMN

純js 文本復制功能

Winer / 2403人閱讀

摘要:最近在項目中需要點擊復制的功能,然后百度看了一下網上的各種方法,有引用插件的不太理想,一個功能就引用一個插件,代碼太冗余了,有自己封裝的可能技術發展比較快,有些都失效了,但是根據他們的介紹,自己找到相關的,總結了一下,適用于方法一使用和對象

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

方法一:使用Selection和Range對象 第一步
創建一個Range對象
let range = document.createRange()
// 傳入需要選中的元素節點
range.selectNodeContents(Node節點)
創建一個Selection對象
var selection = document.getSelection()
// 清空選中的區域
selection.removeAllRanges()
// 添加選中區域
selection.addRange(range)
調用復制
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()方法
弊端

需要創建多余的標簽,而且input和textarea必須顯示,設置以下任何一個樣式都不起作用:

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

還是直接上代碼看吧

html
fa020e90e7de4bd0d399ezvzvvzvz58a5fab92f7