谷歌/IE input Flie 自定义事件触发兼容

240 阅读1分钟

点击上传,触发input file点击事件,实现文件上传

谷歌浏览器

this.$refs.inputfile.dispatchEvent(new MouseEvent('click'))

IE,360兼容模式

解决办法,可行,但是谷歌不起作用

 var event2 = document.createEvent('HTMLEvents')
event2.initEvent('click', false, true)
this.$refs.inputfile.dispatchEvent(event2)
  

最终代码

  if (typeof (Event) === 'function') {
    this.$refs.inputfile.dispatchEvent(new MouseEvent('click'))
  } else {
    var event2 = document.createEvent('HTMLEvents')
    event2.initEvent('click', false, true)
    this.$refs.inputfile.dispatchEvent(event2)
  }