伪主动触发input:file的click事件
来源:互联网 发布:vmware linux nat模式 编辑:程序博客网 时间:2024/05/21 03:56
背景
从前,input:file是不能主动触发click事件的,据说是安全方面的考虑。因此,在美化input:file的时候就麻烦了,最通用的方案是,制作一个经过美化后的<button>
,然后把input:file调整好尺寸,覆盖在<button>
上方,然后再设置 opacity: 0;
,如此一来,用户看到的是<button>
,点击的却其实是input:file。
html5允许在click事件的callback中主动出发input:file的click事件
考虑一下下面的HTML:
<input type="file" id="fileElem" multiple accept="image/*" style="display:none" onchange="handleFiles(this.files)"><a href="#" id="fileSelect">Select some files</a>
为自定义的按钮绑定click事件:
var fileSelect = document.getElementById("fileSelect"), fileElem = document.getElementById("fileElem");fileSelect.addEventListener("click", function (e) { if (fileElem) { fileElem.click(); } e.preventDefault(); // prevent navigation to "#"}, false);
如此一来,虽然input:file还是必要的,但就没必要说覆盖在<button>
上方,随便找个地方隐藏掉就好了,实在是方便了许多。
0 0
- html5系列:伪主动触发input:file的click事件
- 伪主动触发input:file的click事件
- chrome下input:file无法触发click事件的问题
- 单击按钮触发file的click事件
- js实现input:file的click事件
- 解决动态生成input无法触发click事件的问题
- 解决动态生成input无法触发click事件的问题
- input的type=file触发的相关事件
- INPUT[type=file]的change事件不触发问题
- input file change事件只触发一次
- input:file的js触发
- 024主动触发按钮的单击事件
- 回车触发按钮的click事件
- iScroll click事件触发两次的解决方案
- js实现input:file的click
- click触发raisevent事件
- 关于input的file框onchange事件触发一次失效的新的解决方法
- 关于input的file框onchange事件触发一次失效的新的解决方法
- YouKu iOS笔试题二
- 最长回文子串
- Codeforces 584A Olesya and Rodion 【构造】
- 开源日志系统比较:scribe、chukwa、kafka、flume
- 【杭电】[2099]整除的尾数
- 伪主动触发input:file的click事件
- 冒泡排序
- android开发--volley的使用
- POJ2253 Frogger
- 手机内存、sdcard读写操作学习笔记
- Myclipse发布项目错误问题已解决
- 运行时执行过程
- Ubuntu下配置Swift编程环境
- plsql访问oracle数据库中文乱码问题解决方法