最近,项目中需要用到一个图片上传的功能,我用的file控件来选取图片文件,然后利用js读取文件来预览图片,最后再根据用户的操作来决定是否上传文件。
其中碰到了一个奇怪的问题:在选取完第一张图片,并上传后,再选取第二张图片的时候,并没有触发file的change事件。
问了下度娘,各种解决方案很多:
1)有的说要使用live来注册事件,如可以写成$('#fileID').live('change,function(){//do something});
2)有的说要用replaceWith把原来的file控件替换的
3)还有的说要重新注册下事件回调
最后经过验证,第三种方法解决了我的问题。