Es scheint, als ob diesem Ereignis eine clipboardData
Eigenschaft zugeordnet ist (es kann in der originalEvent
Eigenschaft verschachtelt sein ). Das clipboardData
enthält eine Reihe von Elementen, und jedes dieser Elemente verfügt über eine getAsString()
Funktion, die Sie aufrufen können. Dies gibt die Zeichenfolgendarstellung des Elements zurück.
Diese Elemente haben auch eine getAsFile()
Funktion sowie einige andere, die browserspezifisch sind (z. B. in Webkit-Browsern gibt es eine webkitGetAsEntry()
Funktion).
Für meine Zwecke benötigte ich den Zeichenfolgenwert dessen, was eingefügt wird. Also habe ich etwas Ähnliches gemacht:
$(element).bind("paste", function (e) {
e.originalEvent.clipboardData.items[0].getAsString(function (pStringRepresentation) {
debugger;
});
});
Sie möchten eine Iteration durch die Elemente durchführen und dabei das Ergebnis der Verkettung von Zeichenfolgen beibehalten.
Die Tatsache, dass es eine Reihe von Elementen gibt, lässt mich denken, dass mehr Arbeit geleistet werden muss, um jedes Element zu analysieren. Sie möchten auch einige Null- / Wertprüfungen durchführen.
var pastedData =
Zeile aus :Uncaught TypeError: Cannot read property 'getData' of undefined
. Sie müssen sich änderne.clipboardData
zue.originalEvent.clipboardData
. Ich vermute, weil jquery das eigentliche Einfügeereignis in ein eigenes Ereignis einwickelt - zitieren Sie mich jedoch nicht dazu.