使用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)
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容