簡體   English   中英

將HTML元素的innerText復制到剪貼板

[英]Copy innerText of HTML element to clipboard

我有一個HTML錨元素,我只想將該元素的innerText復制到剪貼板。 我嘗試的所有方法似乎都復制了innerText和錨點本身,因此僅粘貼已復制的內容會將文本顯示為鏈接。 因此,似乎正在復制該元素的externalHtml。 我知道我可以粘貼為純文本,但是我只想復制文本。 有沒有辦法做到這一點,而又不涉及隱藏輸入之類的黑客解決方案?

我嘗試過同時使用Range.selectNode和Range.selectNodeContents,但是這兩者的行為似乎相同,並且在復制到剪貼板的內容中包含了錨點。

這是說明這一點的小提琴: https : //jsfiddle.net/zjoraen1/

function copyMe {
    getSelection().removeAllRanges();
    var range = document.createRange();
    range.selectNodeContents(document.querySelectorAll("a")[0]);
    getSelection().addRange(range);
    document.execCommand("copy");
}

我希望粘貼純文本,但是會看到格式化為HTML錨的文本。

即使使用document.querySelector('a').childNodes[0]選擇文本節點,我也無法使其正常工作,范圍似乎要復制為鏈接。

我建議使用可以復制任何文本字符串的函數,無論如何,您當前的代碼將無法在許多設備上運行,例如, 如何使用JavaScript復制到剪貼板?

只需將字符串傳遞給單擊copyToClipboard(document.querySelector('a').innerText)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM