Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.
Kann man in JavaScript Copy & Paste erkennen ?
Ich habe als Aufgabenstellung folgendes Problem:
In einer Textarea soll eine Meldung ausgegeben werden, wenn die maximale Anzahl an Zeichnen überschritten wird. Allerdings nur dann, wenn der Text per "Copy & Paste" in die Textarea gelangt. Bei einer Eingabe über die Tastatur, soll einfach nur nicht weitergetippt werden können.
Meine Recherche ergab bis jetzt, daß ich es nicht sicher abfangen kann, ob der Text per Einfügen oder über Tastatur in das Feld kam. Eine Pürfung, ob eine bestimmte Kombination für das Einfügen benutzt wurde, ist zu unsicher, da es zu viele Möglichkeiten gibt: Strg+V, "Ins", Maus, Sondertasten einer Maus....
Gibt es vielleicht dennoch eine Möglichkeit, die ich übersehen habe ?
3 Antworten
- pinguin_masterLv 6vor 1 JahrzehntBeste Antwort
mir so nicht bekannt.
Evtl. wäre es möglich, über den Eingangspuffer festzustellen in welcher Zeit wieviele Buchstaben eingeben wwerden/wuden.
Also Anschlagszähler in Abhängigkeit der Zeit und Menge der erkannten Buchstaben.
edit:
Habe jetzt noch mal nachgelesen. Es gibt ja die Möglichkeit über onKeydown oder Onkeyup direkt zu prüfen, ob das eingegebene Zeichen erlaubt ist. Also bspw. bei einem Zahlenfeld nur Zahlen.
In dieser Funktion brauchst nur den Buchstaben Zahlenvergkleich auszutauschen mit ener Zählfunktion.
Wenn also das Zählergebnis bei onKeydown größer ist als 1, muss ein Paste erfolgt sein.
- Anonymvor 1 Jahrzehnt
Beim Internet Explorer gibt es einen Event-Handler, der ein Enfügen aus der Zwischenablage signalisiert:
... onPaste="funktion()" ...
Das Dumme ist halt, dass das eine Microsoft-Sonderlocke ist, die von keinem anderen Browser unterstützt wird.
Ansonsten wird es kompliziert. Man müsste mit "onkeyup" und (!!) "onchange" prüfen, ob ein Kopieren aus der Zwischenablage erfolgt ist. Das "onkeyup" wäre dazu gut, ein Strg-V zu erkennen, und das "onchange" ohne vorheriges "onkeyup" wäre dazu gut, ein Kopieren aus der Zwischenablage mittels Maus zu erkennen. Das wird aber eine ziemliche Fummelei.
- vor 1 Jahrzehnt
Ich fände es sinnvoller, wenn du einfach die Anzahl Zeichen überprüfst, sobald sich der Inhalt verändert. Dann schneidest du einfach die überflüssigen ab. So musst du Tastatur, Copy/Paste etc. nicht speziell behandeln. Sonst übersiehst du nur noch irgendwas.