在JavaScript中,我是否可以以编程方式为文件输入元素触发“click”事件?
2022-08-30 00:22:11
我想以编程方式在代码上触发点击事件。<input type="file">
只是调用 click() 似乎不会执行任何操作,或者至少它不会弹出文件选择对话框。
我一直在尝试使用侦听器捕获事件并重定向事件,但我无法让它像有人点击它一样实际执行事件。
我想以编程方式在代码上触发点击事件。<input type="file">
只是调用 click() 似乎不会执行任何操作,或者至少它不会弹出文件选择对话框。
我一直在尝试使用侦听器捕获事件并重定向事件,但我无法让它像有人点击它一样实际执行事件。
我一整天都在寻找解决方案。这些是我得出的结论:
希望这有帮助!:)
<div style="display: block; width: 100px; height: 20px; overflow: hidden;">
<button style="width: 110px; height: 30px; position: relative; top: -5px; left: -5px;"><a href="javascript: void(0)">Upload File</a></button>
<input type="file" id="upload_input" name="upload" style="font-size: 50px; width: 120px; opacity: 0; filter:alpha(opacity=0); position: relative; top: -40px;; left: -20px" />
</div>
你不能在所有浏览器中都这样做,据说IE确实允许这样做,但Mozilla和Opera不允许。
当您在GMail中撰写消息时,“附加文件”功能是以一种方式为IE和任何支持此功能的浏览器实现的,然后为Firefox和那些不支持此功能的浏览器实现另一种方式。
我不知道为什么你不能这样做,但有一件事是安全风险,并且不允许在任何浏览器中执行此操作,那就是以编程方式设置HTML File元素上的文件名。