当前位置: 首页 > 面试题库 >

我可以在JavaScript中以编程方式为文件输入元素触发“点击”事件吗?

拓拔元徽
2023-03-14
问题内容

我想以<input type="file">编程方式在标签上触发click事件。

仅仅调用click()似乎没有任何作用,或者至少它没有弹出文件选择对话框。

我一直在尝试使用侦听器捕获事件并重定向事件,但是我无法像某些人单击它那样使它真正执行事件。


问题答案:

你可以这样做,在所有的浏览器,IE理应 不会 允许它,但Mozilla和Opera没有。

当您在GMail中编写邮件时,“附加文件”功能是针对IE和支持该功能的任何浏览器的一种方法,然后针对Firefox和不支持该功能的浏览器的另一种方法。

我不知道为什么不能这样做,但是有一个安全隐患,并且不允许您在任何浏览器中进行的一件事 通过编程在HTML File元素上设置文件名。



 类似资料:
  • 问题内容: 我想以编程方式在标签上触发click事件。 仅仅调用click()似乎没有任何作用,或者至少它没有弹出文件选择对话框。 我一直在尝试使用侦听器捕获事件并重定向事件,但是我无法像某些人单击它那样使它真正执行事件。 问题答案: 你可以这样做,在所有的浏览器,IE理应 不会 允许它,但Mozilla和Opera没有。 当您在GMail中编写邮件时,“附加文件”功能是针对IE和支持该功能的任何

  • 问题内容: 如何以编程方式触发正在侦听上的事件的上的按键事件? 我的关键事件的侦听器声明如下: 谢谢。 问题答案: 不要使用上简单地增加时,将触发按下(谢谢你@robin +1咨询) 要触发使用的组件和使用类来模拟按键 像这样: 例: 更新: 正如@Robin和@mKorbel这样的建议,您可能需要/ (过滤器允许在更新之前进行验证)。 在进行IMO数据验证时,将需要此功能。 它显示了如何将添加到

  • 问题内容: 在IE中,我只能从JavaScript调用element.click()-如何在Firefox中完成相同的任务?理想情况下,我希望有一些跨浏览器同样可以正常工作的JavaScript,但是如果需要,我将为此使用不同的逐浏览器JavaScript。 问题答案: 该文件说:“ 该 _createEvent_方法已被弃用。使用事件构造来代替。 ” 因此,您应该改用以下方法: 并在这样的元素上

  • 问题内容: 我的页面上有一个超链接。我正在尝试自动执行对超链接的多次单击,以进行测试。有什么方法可以使用JavaScript模拟超链接的50次点击? 我正在寻找JavaScript中的onClick事件触发器。 问题答案: 单击HTML元素: 只需执行。大多数主流浏览器都支持此功能。 要多次重复单击: 将ID添加到元素以唯一地选择它: 并通过for循环在JavaScript代码中调用该方法:

  • 问题内容: 如何以编程方式在输入上强制发生onchange事件? 我已经尝试过这样的事情: 但是我的最终目标是触发任何侦听器功能,但这似乎不起作用。只是更新’value’属性也不会。 问题答案: 创建一个对象并将其传递给元素的方法: 这将触发事件侦听器,无论它们是通过调用方法还是通过设置元素的属性进行注册的。 如果您希望事件冒泡,则需要将第二个参数传递给构造函数:

  • 问题内容: 我有一个隐藏的文件输入元素。是否可以通过按钮的单击事件来触发其 选择文件 对话框? 问题答案: 如果您希望使用自己的按钮来上传文件而不是使用,则可以执行以下操作: 请注意,我使用而不是。您不能在未显示的文件输入上调用click事件。