先看看別人的回答:javascript-file-input-onchange-not-working-ios-safari-only
大概裏面是説
- 你的input必須要存在在dom中
- 使用
addEventListener而不是input.onchange = xxx
但是我的情況都不是上述兩種之一。
由於一些原因,我是使用了input.click()來手動模擬點擊 觸發文件選擇。
而這種情況下,在iOS12.x的safari上,input的onChange事件並不會觸發。
最終改變方案,用<label for="input">來處理。