input file 文件框“取消”按钮事件

使用input type="file"上传文件,触发它的点击事件后,会吊起系统的文件选择器,这个时候如果点击取消按钮,或者x关闭弹窗,原生的input标签是无法监听取消事件的。并且取消也不会触发input的change事件,这种情况下该怎么处理?

The focus event will be executed before the change event.
So I need to use setTimeout to make the focus method execute later than the change method.

文件打开对话框弹出后,当前页面失去焦点,当文件选择对话框关闭(无论是确定还是取消),页面将重新获取焦点。可以绑定页面获取焦点事件,判定用户是否取消了文件选择。

需要注意的是,浏览器页面获取焦点事件早于 onchange 事件约20毫秒,需要页面绑定的事件滞后执行,使用 setTimeout 即可。

可以通过采取为当前window添加focus事件的方式来模拟取消事件,只要控制这个focus事件在change事件之后执行,就可以通过设置一个变量和setTimeout方法实现



你可能感兴趣的:(input file 文件框“取消”按钮事件)