回调函数中无法调起文件选择的弹窗

HTML

<input id="videoInput" type="file" style="display: none" />
<button type="submit" id="videoUploadInput">上传文件</button>

JS

$('#videoUploadInput').click(function (e) {
  e.preventDefault()
  setTimeout(function() {
     document.getElementById('videoInput').click()
  }, 2000)
})

初步定位原因是click事件是由回调函数调起的,此时event.isTrusted是false(此属性目前只在IE和火狐支持),而非用户主动调起的,即此事件是不被浏览器信任的。

阅读 2.9k
2 个回答

一、延时的2000改成1000

链接描述

二、延时处理的函数,立即执行

setTimeout((function(){})(),2000)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题