Autor | Zpráva | ||
---|---|---|---|
ForestCZE Profil |
#1 · Zasláno: 26. 7. 2020, 19:16:25
Ahoj, snažím se rozchodit následující:
<a class="inviteToTeam" n:href="User:invite id => $team->id, invite => $team->invite" title="Klikněte pro zkopírování invite odkazu"><i class="fas fa-link"></i></a> function invite() { document.querySelector(".inviteToTeam").addEventListener("click", function(event){ event.preventDefault(); var link = this.getAttribute("href"); link.select(); link.setSelectionRange(0, link.length - 1); document.execCommand("copy"); }); } Odkaz získám, ale kopírování mi vyhodí hlášku: Uncaught TypeError: link.select is not a function at HTMLAnchorElement.<anonymous> Netuším, proč by to takto nemělo fungovat. |
||
Radek9 Profil |
ForestCZE:
Metoda getAttribute vrací string. Ten nemá žádnou metodu select ani setSelectionRange . Musíš tu adresu z href dát to nějakého kontejneru, který tyhle metody podporuje (např. do inputu).
|
||
ForestCZE Profil |
Radek9:
Úprava: function invite() { document.querySelector(".inviteToTeam").addEventListener("click", function(event){ event.preventDefault(); var link = this.getAttribute("href"); document.body.innerHTML += '<input type="text" id="invite" value="' + link + '">'; var copyText = document.getElementById("invite"); copyText.select(); copyText.setSelectionRange(0, copyText.length - 1); document.execCommand("copy"); }); } Ale stejně se tomu nějak nechce. EDIT: Problém byl v délce toho range. Takže takto: function invite() { document.querySelector(".inviteToTeam").addEventListener("click", function(event){ event.preventDefault(); var link = this.getAttribute("href"); document.body.innerHTML += '<input type="hidden" id="invite" value="' + link + '">'; var copyText = document.querySelector("#invite"); copyText.select(); copyText.setSelectionRange(0, copyText.innerHTML.length - 1); document.execCommand("copy"); }); } EDIT2: S typem hidden to nefunguje. |
||
Radek9 Profil |
#4 · Zasláno: 26. 7. 2020, 20:07:27
ForestCZE:
Nějak takhle by to mohlo jít: Živá ukázka |
||
ForestCZE Profil |
#5 · Zasláno: 26. 7. 2020, 20:20:56
Radek9:
Díky, to tvoje vypadá mnohem lépe :) |
||
Časová prodleva: 3 dny
|
|||
Taps Profil |
#6 · Zasláno: 29. 7. 2020, 12:20:58
Pro zajímavost se můžeš ještě mrknout na Kopírování do schránky
|
||
Časová prodleva: 4 roky
|
0