H5W3
当前位置:H5W3 > 其他技术问题 > 正文

【Web前端问题】可以直接用 js 代码打开文件选择框吗?为什么在别的元素点击事件中再调用 input 的点击事件可以打开文件选择框?

网上查资料,貌似不能直接通过 js 语句调用 click 事件来打开选择文件选择对话框,因为安全的考虑。

但是,可以通过在其他的元素上绑定点击事件同时调用 click 事件来打开文件选择对话框。这是为什么?

代码如下:
https://jsfiddle.net/xavierskip/vnYVB/88/

在隐藏的文件输入框上调用click()方法

回答:

是的,因为安全的原因不能够直接使用js 调用 input type=file, 打开文件选择对话框

但是你能够通过调用其它click事件来执行打开,只要这个事件是人为操作的就可以

其实这应该没有为什么,制定js规范的组织就是这么定的。

比如:写个脚本,一直打开选择文件对话框, 用户还以为中毒了呢。

回答:

通过jq找到Dom对象,调用对象的click()即可,如$(“#id”).click()我见过类似的代码,应该没问题的,你可以试试看

回答:

如果在不点击就选择文件,那也就允许浏览器直接访问磁盘的某个文件,这多口怕
其实不绑定单击事件也没什么,常用的方法是在input上盖点东西做美化

本文地址:H5W3 » 【Web前端问题】可以直接用 js 代码打开文件选择框吗?为什么在别的元素点击事件中再调用 input 的点击事件可以打开文件选择框?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址