我有一个使用文件 API 的 html5 应用程序,它使用一个元素。当用户选择文件时,我能够做出响应。如果用户取消文件选择,我希望能够做一些事情。但是,如果用户单击文件选择器对话框中的取消而不是确定按钮,我找不到在输入元素上触发的事件。
是否有一些在“取消”时触发的事件我错过了,或者我应该重新构建我的应用程序以不需要这个?
我有一个使用文件 API 的 html5 应用程序,它使用一个元素。当用户选择文件时,我能够做出响应。如果用户取消文件选择,我希望能够做一些事情。但是,如果用户单击文件选择器对话框中的取消而不是确定按钮,我找不到在输入元素上触发的事件。
是否有一些在“取消”时触发的事件我错过了,或者我应该重新构建我的应用程序以不需要这个?
没有真正的侦听器来检查是否选择了文件,您可以通过使用 on change 事件在代码中设置注释来绕过它,如下所示:
var FileChoosen = false;
var inputElement = document.getElementById("inputField");
inputElement.addEventListener("change", handleFiles, false);
function handleFiles() {
var fileList = this.files; /* now you can work with the file list */
//Check if the layout was changed from file API:
if(document.getElementById('fileOutput').innerHTML != "") {
FileChoosen = true;
setTimeout("funcCalledToCheckUserSelection()", 500);
};
}
当用户单击取消时,更改事件再次触发。那对我有用;