ich das endlich für 1) Typisierung zu arbeiten, 2) per Drag & Drop, 3) Ctrl-V und 4) fügen Sie aus dem Kontextmenü einer Maus Klicke, aber ich hatte die Paste zu befestigen und Handler auf das Dokument fallen (wobei ‚taValue‘ die Klasse der Textbereiche, die ich zu überwachen bin versucht):
$(document).on("paste drop", '.taValue', function (e) {
myHandler.call(e.target, e);
});
die keyup Veranstaltung auf dem Textfeld bereits gearbeitet. Das nächste Problem bestand darin, dass die Ereignisse "Einfügen" und "Löschen" ausgelöst werden, BEVOR der Text im Textbereich tatsächlich geändert wird. In meinem Fall wollte ich den neuen Text mit dem Originaltext vergleichen. Ich griff zu einem setTimeout:
function myHandler(e) {
if (e && (e.type === "drop" || e.type === "paste")) {
var me = this;
setTimeout(function() { myHandler.call(me) }, 200);
}... [more code to do the comparison]
Ich hasse Timeouts für Dinge wie diese verwenden, aber es funktioniert (wenn ich ein 100ms Intervall versucht, es nicht).
Diese Methode funktioniert, wenn Sie zum Einfügen STRG + V drücken. Aber es funktioniert nicht, wenn Sie mit der rechten Maustaste klicken und Einfügen auswählen. – JohnnyLinTW
Ich habe gefunden, wenn zu $ ändern ("# txtcomplaint"). Bind ('einfügen', null, function (e) ... und es funktioniert gut für Strg + V und Maus einfügen. – JohnnyLinTW