原因:问题不是由于change事件失效所引起的,而真正的罪魁祸首是ajaxFileUpload插件而造成的,因为它会把原来的file元素重新替换成新的file元素,因此之前绑定的change事件就失效了。
解决办法:上传完文件后,重新绑定change事件,以下是两种常用方法。
方法一:使用jQuery的live代替change:
$('#upload').live('change',function(){
//do upload
})
备注:直接使用$('#upload').change(function(){ })方式无效
方法二:onChange后,生成一个新的file 替代旧的:
$('#upload').replaceWith('<input name="upload" type="file" ......>')