今天写了一个文件上传,发现在部分安卓手机上触发不了onchange事件,代码如下:

1
2
3
4
5
6
7
<input type="file" id="input" />
<script>
// 在部分安卓手机不触发
input.onchange = () => {
alert(123);
};
</script>

经过不断测试后发现,在标签上补上accept=”image/*“后可解决该问题,修复后的代码如下:

1
2
3
4
5
6
<input type="file" accept="image/*" id="input" />
<script>
input.onchange = () => {
alert(123);
};
</script>