Здавалося б, до цієї події 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 обгортає фактичну подію вставки в власну подію - не цитуйте мене з цього приводу.