项目开发中关于type:file使用小技巧!
2015-03-18 17:39
351 查看
在日常开发当中,免不了上传文件功能,但是自带的控件形象(程序猿:我感觉很好看啊!),实在拿不太出手,但是我们又必须使用那个选择浏览文件的窗口,那怎么办呢?下面我告诉大家一个实用的小技巧。首先你得了解jquery.click()方法,它是可以模拟点击事件,我们知道它可以模拟点击事件之后那就好办了!我们定义一个 :type[file] 控件,为其添加上 class(注意:不一定是class,可以查看jquery元素选择器方法。)
搞定上面,那么我们已经成功一半了,现在我们就是要怎么在浏览文件之后点击确定,就直接上传呢?这个问题很好解决,相信熟悉jquery或者javascript的程序员都知道有一个事件叫做 change 。(就是值变更事件,当标签中内容改变离开焦点后触发该事件。)
上面两个步骤都弄完了,那么就搞定了,我们将file控件使用css隐藏掉,就不用看到那个比较系统的”请选择文件“啦。
最后附上可以执行jquery代码,请任意打开一个已存在jquery.js 的网页,将下面段代码copy到控制台中,便可以直接运行看到效果啦。
<!-- 以下是我们定义的file控件 --> <input type="file" /> <button>戳我!</button> <!-- 当我们点击button的时候,那么我们要做的就是模拟用户点击了file控件,那怎么模拟呢?前面开始提到了jquery.click()方法,所以我们来试试!--> $("button").click(function(){ $("input[type='file']").click(); });
搞定上面,那么我们已经成功一半了,现在我们就是要怎么在浏览文件之后点击确定,就直接上传呢?这个问题很好解决,相信熟悉jquery或者javascript的程序员都知道有一个事件叫做 change 。(就是值变更事件,当标签中内容改变离开焦点后触发该事件。)
<!-- 定义一个file:change事件(绑定元素请自行根据项目更改) --> $("input[type='file']").change(function(){ alert('上传成功!'); });
上面两个步骤都弄完了,那么就搞定了,我们将file控件使用css隐藏掉,就不用看到那个比较系统的”请选择文件“啦。
var target = 'body'; $(target).empty(); $(target).append('<input type=\'file\' style=\'display:none;\'/>') $(target).append('<button>戳我!</button>'); $('button').click(function () { $('input[type=\'file\']').click(); }); $('input[type=\'file\']').change(function () { alert('上传成功!'); });
最后附上可以执行jquery代码,请任意打开一个已存在jquery.js 的网页,将下面段代码copy到控制台中,便可以直接运行看到效果啦。
相关文章推荐
- 安卓开发笔记——关于开源项目SlidingMenu的使用介绍(仿QQ5.0侧滑菜单)
- 使用VIM开发软件项目 - (7) lookupfile插件
- 关于使用input type=file 标签上传文件的注意细节(上传文件 无法获取文件 问题)
- 关于使用VS2015编译项目时出现LNK1112 module machine type 'x64' conflicts with target machine type 'X86'
- iOS开发:给项目工程里面添加Podfile配置文件,以及CocoaPods的简单使用
- 关于开发中使用writeToFile时的注意事项
- 关于Android项目使用注解开发框架在eclipse环境下的配置
- 关于svn在项目开发中的使用建议
- 开发中关于正则表达式使用的一个小技巧
- 整理关于java开发工具使用过程中一些小技巧来提高开发效率
- 关于FF在使用dispathEvent的时候无法触发input[type=file]click事件
- [android开发中使用的小技巧]如何在项目中导入Android源码
- 关于使用platform和file_operations开发驱动的不同
- windows下关于使用eclipse开发web服务器后台项目完整配置(jsp+javabean+servlet)
- 关于使用Android Studio 开发NDK项目生成.h文件方法
- iOS开发:给项目工程里面添加Podfile配置文件,以及CocoaPods的简单使用
- [置顶]关于使用input type=file 标签上传文件的注意细节(上传文件 无法获取文件 问题)
- 关于使用platform和file_operations开发驱动的不同
- 关于使用Android Studio 开发NDK项目生成.h文件方法
- 关于Android开发导入已有项目遇到Project has no default.properties file! Edit the project properties to set one.问题的解决方法