Stack Overflow на русском Asked by Imp3l on August 30, 2021
По нажатию на кнопку должен быть вставлен текст из буфера обмена, но выходит ошибка Cannot read property "clipboardData" of undefined
.
const pasteFromBuffer = document.querySelector('.paste-button');
const textareaPaste = document.querySelector('.input');
function handlePaste(event) {
const clipboardData = event.clipboardData || window.clipboardData;
const pastedData = clipboardData.getData('Text');
console.log(pastedData);
textareaPaste.innerText = pastedData;
}
pasteFromBuffer.addEventListener('click', handlePaste);
<input class="input"></input>
<button class="paste-button">Paste</button>
Вы можете воспользоваться clipboard API, сделав вот так:
const pasteFromBuffer = document.querySelector( ".paste-button")
const textareaPaste = document.querySelector(".input")
const handlePaste = async event => {
const clipboardData = await navigator.clipboard.readText()
textareaPaste.value = clipboardData
console.log(textareaPaste.value)
}
pasteFromBuffer.addEventListener("click", handlePaste, false)
Имейте ввиду что большинство браузеров запросят у пользователя подтверждения прав доступа к данным clipboard.
Так же этот метод не будет работать из консоли, так как требует непосредственного действия пользователя, например, нажатия на кнопку.
Correct answer by Vasily on August 30, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP