file控件change事件触发问题

Posted hhhsky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了file控件change事件触发问题相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

以上是关于file控件change事件触发问题的主要内容,如果未能解决你的问题,请参考以下文章

为什么Jquery对input file控件的onchange事件只生效一次

DOM变化后事件绑定失效

解决input file两次选择相同文件不触发change事件的问题

能触发文本框change事件的操作

input[type="file"] change事件第二次不触发

Input type="file"上传文件change事件只触发一次解决方案