javascript中文件上载取消的事件

javascript中文件上载取消的事件,javascript,file-upload,Javascript,File Upload,如果我们要使用javascript为文件读取设置事件回调,那么我们可以使用file.onchange,但是当用户取消上传(关闭浏览面板)时如何设置事件?没有用于文件输入模式的API。此外,如果用户关闭浏览器,您的代码将不再运行,是吗 当然,有一种方法可以让你检测你给出的例子 根据这些评论,我能想到的最有帮助的事情是,如果没有选择任何内容,file.value.length将为0,使用jQuery非常简单: $("#fileInputId").change(function () { //

如果我们要使用javascript为文件读取设置事件回调,那么我们可以使用
file.onchange
,但是当用户取消上传(关闭浏览面板)时如何设置事件?

没有用于文件输入模式的API。此外,如果用户关闭浏览器,您的代码将不再运行,是吗

当然,有一种方法可以让你检测你给出的例子


根据这些评论,我能想到的最有帮助的事情是,如果没有选择任何内容,
file.value.length
将为
0

,使用jQuery非常简单:

$("#fileInputId").change(function () {
    //implement your code here
});

对不起。它不是浏览器。我的意思是文件浏览面板。当我们点击Element时就可以打开无需担心。不幸的是,没有取消事件。我想到的唯一有用的方法是,如果未选择任何内容,file.value.length将为0。不幸的是,当用户退出模式时,除了onchange之外,您没有什么可以检测的,正如您所指出的,onchange只在选择文件时触发。不幸的是,在文件面板弹出之前和之后,该值没有变化。因此,即使使用setinterval,我们也无法捕捉弹出窗口。你认为面板弹出后会有其他值被更改吗?我尝试了一些,所有的鼠标道具,onmousedown,onmousedup,over,out等。所有这些都是在弹出生成之前完成的。@JonJaques的“file.value.length将为0”是我一直在寻找的答案。应该在响应IMHO中注入。如果您提到您的用例,可能有人会建议一个替代方案。我只想发送文件而不重定向,所以我必须使用iframe。但我希望iframe在用户单击后立即构建,并在用户使用完面板后立即消失。这就是ideaHmm,那么您是否希望在用户选择某个内容后立即触发上载?我的建议是让用户选择文件,然后在它旁边有一个上传按钮。然后,您可以在他们单击iframe时创建iframe。这样,您就知道了文件选择器的值,如果它是nil,显然可以显示某种验证消息。