Rolf B: Gibt es die Möglichkeit, dass man auf eine Zelle von einer HTML klickt und das dann der Inhalt in die Zwischenablage kopiert wird?

Beitrag lesen

Hallo Greenman999,

ja. Inhalt auswählen, rechte Maustaste klicken und "Kopieren" auswählen.

Alles andere ist nicht so einfach. Du müsstest dann vor allem aus jeder kopierfähigen Zelle ein interaktives Element machen, also einen Button. Auf dem kannst Du dann einen click-Handler registrieren und den Inhalt kopieren.

Dazu kannst Du die writeText Methode von clipboard.navigator verwenden (nicht im Internet Explorer, dort musst Du mit dem veralteten document.execCommand("copy") arbeiten und vorher mit addRange aus dem Selection API den gewünschten Text selektieren).

Den Zellinhalt komplett in einen Button zu legen hat Nachteile, wenn sich in der Zelle andere interaktive Elemente befinden (Buttons, Links, Eingabefelder, etc). Man darf interaktive Elemente nämlich nicht schachteln. D.h. die Button-Lösung greift nur für reine Wertezellen. Den Button an sich kannst Du unauffällig machen, indem Du per CSS dafür sorgst, dass er keinen Rand und keine Hintergrundfarbe hat.

Ohne einen Button wird das Feature "automatisch kopieren" nicht universell bedienbar. Oder anders gesagt: Es ist nicht bedienbar.

Wenn Du es so sehen willst, dass die Automatikkopie einen zusätzlichen Luxus für Maus- und Touchbenutzer darstellt (was Dir viele Accessibility-Verfechter als Todsünde ankreiden würden), und wenn Tastaturanwender oder Nutzer von Assistenztechniken andere Möglichkeiten haben, die Inhalte zu kopieren, dann - und nur dann - kannst Du den click-Handler auch direkt auf den Zellen registrieren und auf den Button verzichten.

Achso, du wolltet eine fertige Lösung zum abschreiben? Not today...

Rolf

--
sumpsi - posui - obstruxi