input type = file 取消事件

<input type="file">, 点击出现对话框,有无办法监听到用户点击对话框中取消按钮的事件?望大神赐教。
阅读 20.8k
6 个回答

没记错的话,点取消的时候也会有onChange,value应该是undefined。

onchange在chrome上点取消可以检测得到,firefox上不行。如果你项目只在移动设备上的话,可以onchange这样试试。如果要考虑PC,你可以额外绑定一个专门用于检测的click事件,当onchange触发的时候可以不用管click,当click触发,但是没有触发onchange或者选择了同一个文件的时候,则表示用户没有改变文件的选择或者点选了取消。。。

想问楼主是怎么解决的呢 我跟你是一样的情况

onchange 里面 对this.files.length 进行判断,如果===0 ,直接return

新手上路,请多包涵

直接在input父节点上加了一个onMouseLeave事件监听变化

e.target.files[0]=='undefined'
?
'点击了取消'
:
'触发了onchange'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题