我正在尝试将数据从剪贴板粘贴到textarea
<textarea id="mytextarea"></textarea>
<script type="text/javascript">
tinymce.init({
selector: '#mytextarea',
plugins: "paste",
paste_data_images: true
});
function handlePaste (e) {
var clipboardData, pastedData;
// Stop data actually being pasted into div
e.stopPropagation();
e.preventDefault();
// Get pasted data via clipboard API
clipboardData = e.clipboardData || window.clipboardData;
pastedData = clipboardData.getData('Text');
// Do whatever with pasteddata
var paste = document.getElementById('mytextarea');
paste.innerText = pastedData;
}
document.getElementById('mytextarea').addEventListener('mouseenter', handlePaste);
</script>
但没有发生任何错误。我找到了很多答案,但我没有解决我的问题
答案 0 :(得分:2)
我相信Chrome只能在处理/** Table columns */
columns = [
...,
...,
...,
];
/** List of columns to display in which order */
displayedColumns = this.columns.concat(['myExtraColumn']);
事件时访问clipboardData。所以你必须要监听该事件才能访问clipboardData。
更改您的事件侦听器以侦听paste
事件,然后您可以使用处理程序中的clipboardData执行任何操作:
paste
您可以在以下小提琴中看到这一点:
https://jsfiddle.net/x3v8bhhr/
我添加了第二个document.getElementById('mytextarea').addEventListener('paste', handlePaste);
。当您尝试粘贴到第一个textarea
时,clipData会被拦截,而是放在第二个textarea
中。