jquery中File input的change方法只起一次作用的解决办法

jquery中File input的change方法只起一次作用的解决办法

今天在做jquery对input file控件的onchange事件进行监听,就一直只生效一次,不知道Jquery为什么对file控件没有做到每次改变触发onchange事件的效果,但是还是有好几种解决方法的:
1.原始方法:把事件写在file控件的onchange=””里面;
onchange=”return ajaxFileUpload();” 只有这种方法才能达到想要的效果。

2.Jquery方法: onchange后,生成一个新input type file代替旧的,
$(‘#inputFileID’).replaceWith(‘<input name=”fileToUpload” type=”file” id=”inputFileID” />’);
经过测试也只是在第一次选择有效,达不到需要的效果。

3.Jquery方法: $(‘#fileId’).live(‘change’,function(){ //逻辑添加…. });
jquery1.9已经废弃了live方法,用on代替了。不过用on也只是在第一次选择有效,达不到需要的效果。

$(‘#fileToUpload’).replaceWith(‘<input id=”fileToUpload” name=”fileToUpload” type=”file” class=”text mb10 mt10″ />’);

暂无评论

发表评论

快捷键:Ctrl+Enter