【问题标题】:How to programmatically close select file dialog如何以编程方式关闭选择文件对话框
【发布时间】:2025-05-17 16:30:02
【问题描述】:

我有一个带有type=file 的输入字段来选择图像文件,但我想要的是,如果有人打开文件选择器对话框并且在某些特定事件上它会自动/以编程方式关闭对话框,而无需点击取消按钮用户。有没有办法用js/jquery做到这一点?

【问题讨论】:

  • 我相当肯定没有办法像那样关闭打开的文件对话框。你想要实现什么需要以编程方式关闭它?
  • 据我所知:不,由于可能涉及潜在的安全风险,网站的 javascript 代码无法控制处理机器文件系统的系统对话框。
  • 图像字段是使用拖放库构建的,因此如果用户打开文件对话框并拖放图像(从对话框中)而不是选择它,则图像会被上传但对话框仍然打开它必须通过单击关闭按钮来关闭。如果以任何方式上传文件,我只想关闭它
  • 是的,我也有同样的感觉,但是当用户将图像拖放到输入字段区域时就会发生这种情况
  • 嗯,似乎有些浏览器允许您在对话框打开的情况下拖动文件,但有些浏览器不允许。 Chrome 会,但 Edge 不会。也许另一种选择是在对话框打开时尝试阻止拖放,因为无法从 JavaScript 关闭它。

标签: javascript html file-io


【解决方案1】:

<input type="file" /> 的互动非常有限。无法以编程方式关闭文件对话框。您可以通过处理click 事件来尝试在对话框打开时禁用拖放功能;但是,在用户单击取消的情况下,似乎有no reliable cross-browser method 用于确定对话框已关闭,因此重新启用它可能会很棘手。

不幸的是,如果用户选择从中拖放文件而不是使用“打开”按钮,您可能只需要让用户自行关闭文件对话框。

【讨论】:

  • 当然,我会寻找解决办法,感谢您的宝贵反馈 :)
【解决方案2】:

我认为答案是否定的。文件输入更改事件会打开本机浏览器窗口,这无法使用 Javascript 进行控制。

【讨论】:

    最近更新 更多