鍍金池/ 問答/人工智能  HTML/ js如何實現(xiàn)選中多個dom中的文本并一起復(fù)制到剪貼板?

js如何實現(xiàn)選中多個dom中的文本并一起復(fù)制到剪貼板?

參考了之前有大佬提出的類似問題:https://segmentfault.com/q/10...
結(jié)果發(fā)現(xiàn)如果是多個元素,那么只會保留最后一個元素中的文本。
我的想法是先逐個選中要復(fù)制的文本,最后一起復(fù)制,但是并沒有成功。
用的谷歌瀏覽器。

失敗的代碼如下:
for (let i = 0; i < $("input:checked").parent().next().children().length; i++) {
var text = $("input:checked").parent().next().children()[i]
var selection = window.getSelection()
var range = document.createRange()
range.selectNodeContents(text)
selection.removeAllRanges() // 不明白這里的意思,如果刪掉這一句直接就不會復(fù)制了。但是不刪的話 感覺每次都會清空,無法實現(xiàn)復(fù)制多行。
selection.addRange(range)
}
document.execCommand('Copy','false',null)

需求:復(fù)制所有符合條件的元素的文本到剪貼板,保留格式(換行)
如果有其他能夠?qū)崿F(xiàn)該需求的方法也麻煩賜教了
感謝!

回答
編輯回答
蟲児飛

https://github.com/zenorocha/...

new ClipboardJS('.btn', {
    text: function(trigger) {
        return 'You wanted'
    }
});
2017年9月16日 14:21
編輯回答
不舍棄

你要用原生的代碼的話,可以直接訪問 clipboard。這種思路很簡單,直接監(jiān)聽 copy 事件,直接添加你想復(fù)制的內(nèi)容即可。

https://segmentfault.com/a/11...

2018年3月25日 08:30