当选择相同文件时,HTML 输入文件选择事件不会触发。
当选择相同文件时,HTML 输入文件选择事件不会触发。
有没有可能检测到用户为HTML input
元素选择 file
类型时所作出的每一个文件选择?
这个问题以前已经被多次提出过,但通常建议使用的 onchange
事件如果用户再次选择同一个文件时不会触发。
admin 更改状态以发布 2023年5月20日
每次 onclick
事件时将 input
的值设置为 null
。这将重置 input
的值并触发 onchange
事件,即使选择了相同的路径。
var input = document.getElementsByTagName('input')[0]; input.onclick = function () { this.value = null; }; input.onchange = function () { console.log(this.value); };
注意:如果您的文件前缀为 “C:\fakepath”,这是一项安全功能,防止 JavaScript 知道文件的绝对路径。浏览器仍然在内部知道它。