使用input上传文件,ios不触发onChange事件

原因:当js创建的input未append进文档流时,Android和pc正常触发onChange事件,ios不触发onChange事件;
解决方法:将js创建的input未append进文档流,style设置为不可见即可

const input = document.createElement('input')
input.style.display = 'none'
input.type = 'file'
let accept = 'video/mp4'
document.body.appendChild(input)
input.click()
input.addEventListener('change', (e) => {
  console.log(e)
  ...
  document.body.removeChild(input)
})

你可能感兴趣的:(使用input上传文件,ios不触发onChange事件)