每当用户选择文件时,我都需要监听文件选择事件(反复单击浏览器时) 按钮)。
但是,如果用户选择与以前相同的文件,则不会触发change
事件。还有其他我可以听的事件,或者其他解决此问题的方法吗?
(function() {
$('.file_upload').on('change', function() {
console.log('Changed!');
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label class="btn btn-primary">File #1 <input name="file1" id="file1" class="file_upload a1" type="file" /></label>
答案 0 :(得分:0)
在完成文件上传逻辑或执行任何操作之后,可以重置value
属性。
var $f1 = $("#container .f1");
function FChange() {
alert("f1 changed");
$(this).prop("value", "");
}
$f1.change(FChange);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="container">
<input type="file" class="f1">
</div>
提到的另一件事是,您实际上可以在更改时删除并重新添加文件输入元素。