JavaScript 剪贴板数据无效文本

JavaScript clipboardData void Text

我正在使用以下代码将剪贴板中的数据复制到我的表单中并提交。以前这仅限于浏览器上的图像,现在浏览器允许从文件到文本的所有内容。问题是复制文本时,它认为它是一个文件并想要提交。

有没有办法使粘贴的所有类型的文本无效?

const fileInput = document.getElementById("document_attachment_doc");

window.addEventListener('paste', e => {
  fileInput.files = e.clipboardData.files;
  document.getElementById("new_document_attachment").submit();
});

我确实发现,即使没有文件,只有纯文本,表单提交也会因粘贴而被触发。解决方法是检查剪贴板中的文件数是否大于 0。如果剪贴板中有文本,则为 0。

 window.addEventListener('paste', e => {
  if (e.clipboardData.files.length > 0){
    fileInput.files = e.clipboardData.files;
    document.getElementById("new_document_attachment").submit();
   }
 });