最近開發遇到要客製化上傳按鈕的介面, 不用原生的 file input 的介面,只取裡面的檔案上傳。 為了要自己控制上傳的介面,在 input 上面綁 change 事件, 每次更動上傳資料時就回傳事件,並觸發介面改變。 但因為刪除待傳檔案的操作,也是另外寫在介面上, 導致這時使用者反悔要再上傳一次時,不會觸發 change 事件, 造成介面上的顯示問題。 查了文件,原來這種情況下會觸發「cancel」事件。 將來要抓到「取消」或「選擇相同檔案」,就可加上這個事件。 | event | 描述 | | -------- | -------- | | change | 值變化完成時觸發。與 input 的差異是,輸入完成後點擊別的地方才會觸發,在 file 按鈕的情況下與 input 時間點相同。| | input | 值變化當下時觸發。與 change 的差異是輸入的當下任何改變都會觸發,在 file 按鈕的情況下與 change 時間點相同。 | | cancel | 沒有變化時觸發。例如點擊「取消」或「選擇相同檔案」時會觸發。 | 參考:[<input type="file">,MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up