Javascript Copy to Clipboard

07/04/2019 01:59 MaLLaH95#1
Hallo Community,

ich habe einen Copy to Clipboard script gefunden und wollte diesen nicht nur bei <div> sondern auch bei <textarea> verwenden.
Leider habe ich nicht so viel Erfahrung was das angeht, aber vielleicht kann mir einer helfen

motivate = soll <div> sein und motivatee = textarea



HTML Code:
    <div class="motivate" id="box1">TEST
    </div>
HTML Code:
    <textarea class="motivatee" id="box1">
TEST2
    </textarea>
07/04/2019 17:01 False#2
#moved
07/04/2019 22:54 iMostLiked#3
Bin ich blind oder selektierst du nirgends den Text? Um execCommand('copy') ausführen zu können, muss die Textarea/das Input einen Fokus haben/selektiert sein.

Schau dir bitte dieses Beispiel an und überlege, wie du das am Besten in dein Beispiel implementieren kannst. Wie bereits gesagt, muss das jeweilige Feld einen Fokus, also el.select(), haben.

Code:
const el = document.createElement('textarea');
el.value = 'Bitte kopiere mich!';
el.readonly = '';
el.style.position = 'absolute';
el.style.left = '-9999px';
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
Sofern du nicht mit einem Fokus arbeiten möchtest, musst du den selektierten Text in eine Variable speichern und den obigen Code von mir nutzen.
07/08/2019 09:11 Wurzelhüpfer#4
Ich empfehle Dir, Dich in die MDN Dokumentation des "copy event"'s einzulesen, dort gibt es sogar ein Beispiel, welches genau Deinen Bedürfnissen entsprechen sollte:
- [Only registered and activated users can see links. Click Here To Register...]