簡體   English   中英

按下表格行中的按鈕將單元格復制到剪貼板 - Javascript

[英]Pressing button in row of table to copy cell to clipboard - Javascript

我想知道大師是否可以幫助我解決這個問題。 我有一個表格,每行都有一個按鈕。 按下復制按鈕后,它應該復制該行單元格 2 中的措辭。 我能夠收到警報,但我需要將其復制到剪貼板,以便用戶可以將其粘貼到另一個應用程序。 此外,此方法適用於 chrome,但不適用於 IE11。 有兩種方法都適用嗎? 非常感謝!

 var a = document.getElementsByClassName('otherButton'); for (var i = 0; i < a.length; i++) { a[i].addEventListener('click', function() { var b = this.parentNode.parentNode.cells[1].textContent; alert(b); }); }
 <table id="somerow"> <tr> <th>CustomerNr</th> <th>Name</th> <th>Contact</th> </tr> <tr> <td>1</td> <td>Cigarettes Inc</td> <td>Rambo</td> <td><button class="otherButton">Copy</button></td> </tr> <tr> <td>22</td> <td>Razor</td> <td>David</td> <td><button class="otherButton">Copy</button></td> </tr> <tr> <td>3</td> <td>H&M</td> <td>Samuel Adams</td> <td><button class="otherButton">Copy</button></td> </tr> </table>

看看這個copy-output-of-a-javascript-variable-to-the-clipboard但請注意execCommand已棄用。 如果你的項目允許外部依賴,你可以使用clipboardjs

 var a = document.getElementsByClassName('otherButton'); for (var i = 0; i < a.length; i++) { a[i].addEventListener('click', function() { var b = this.parentNode.parentNode.cells[1].textContent; copyToClipboard(b); alert(b); }); } function copyToClipboard(text) { var dummy = document.createElement("textarea"); document.body.appendChild(dummy); dummy.value = text; dummy.select(); document.execCommand("copy"); document.body.removeChild(dummy); }
 <table id="somerow"> <tr> <th>CustomerNr</th> <th>Name</th> <th>Contact</th> </tr> <tr> <td>1</td> <td>Cigarettes Inc</td> <td>Rambo</td> <td><button class="otherButton">Copy</button></td> </tr> <tr> <td>22</td> <td>Razor</td> <td>David</td> <td><button class="otherButton">Copy</button></td> </tr> <tr> <td>3</td> <td>H&M</td> <td>Samuel Adams</td> <td><button class="otherButton">Copy</button></td> </tr> </table>

暫無
暫無

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

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