具有类型文件的HTML Input标记在某些情况下不会捕获“ oninput”事件

时间:2019-01-23 14:17:52

标签: javascript html5

因此,在我的文件上传页面中,我有一个文件拖放区域。通过单击此区域,将出现文件输入对话框,以允许用户选择文件。在某些随机情况下,选择文件并单击“打开”后,不会发出 oninput 事件。我在做错什么吗?

我试图将 oninput 事件更改为 onchange 。而且它没有用。有人遇到过这个问题吗?预先感谢。

let input = document.createElement("input");
input.type = "file";
input.style.cssText = "display:none;";
input.multiple = true;
input.accept = "." + this.options.allowedFileType;
input.oninput = () => {
Array.from(input.files).forEach(file => {
      if (file.type === "application/pdf") {
        self.setUniqueUuidAndStoreFile(file);
      } else {
        self.displayErrorNotification(
        this.$t("file") + " " + file.name + " " + this.$t("wrongFileType")
      );
    }
  });
};
input.ondrop = function (event) {
  return false;
};
input.click();

1 个答案:

答案 0 :(得分:0)

这是“常规”系统,出于安全原因,它不定期注册更改,因为它看不到整个文件。我们正在使用的解决方法是将click的值设置为null

isLoggedIn