file控件change事件触发问题

最近,项目中需要用到一个图片上传的功能,我用的file控件来选取图片文件,然后利用js读取文件来预览图片,最后再根据用户的操作来决定是否上传文件。

其中碰到了一个奇怪的问题:在选取完第一张图片,并上传后,再选取第二张图片的时候,并没有触发file的change事件。

问了下度娘,各种解决方案很多:

1)有的说要使用live来注册事件,如可以写成$('#fileID').live('change,function(){//do something});

2)有的说要用replaceWith把原来的file控件替换的

3)还有的说要重新注册下事件回调

最后经过验证,第三种方法解决了我的问题。

原文地址:https://www.cnblogs.com/huanghaihua/p/5263119.html