Здавалося б, до цієї події clipboardDataприєднано якесь властивість (воно може бути вкладене в originalEventвластивість). clipboardDataМістить масив елементів , і кожен з цих елементів має getAsString()функцію, яку можна викликати. Це повертає рядкове представлення того, що є в елементі.
Ці елементи також мають getAsFile()функцію, а також деякі інші, що стосуються браузера (наприклад, у браузерах webkit є webkitGetAsEntry()функція).
Для моїх цілей мені знадобилося рядкове значення того, що вставляється. Отже, я зробив щось подібне до цього:
$(element).bind("paste", function (e) {
e.originalEvent.clipboardData.items[0].getAsString(function (pStringRepresentation) {
debugger;
});
});
Ви захочете виконати ітерацію по елементах, зберігаючи результат об’єднання рядків.
Той факт, що існує безліч предметів, змушує мене думати, що потрібно буде зробити більше роботи, аналізуючи кожен предмет. Ви також захочете зробити деякі перевірки нуля / значення.
var pastedData =лінії:Uncaught TypeError: Cannot read property 'getData' of undefined. Вам потрібно змінитиe.clipboardDataнаe.originalEvent.clipboardData. Я підозрюю, що jquery обгортає фактичну подію вставки в власну подію - не цитуйте мене з цього приводу.