[Javascript] 使用 pageshow 事件 ,submit 返回上一頁後取消特效

2025-08-19

寫一個很久的問題但是我一直都沒有去處理的,就是有關於 Holdon.js 

因為我在form post 之前,我都 會呼叫 Holdon.js 來做到 debounce (防止重複 submit )

但是我遇到一個問題,就是如果我在 submit 後,跳轉到下一頁,如果我按下瀏覽器的上一頁

會依然停留在 HoldOn.open() 的畫面..


目前找到最好的做法就是去處理 pageshow 事件,當頁面被載入或從瀏覽器快取(back-forward cache,BFCache)中還原時觸發。

不同於 load,它在「使用者點返回鍵」時也會被觸發。

所以只要在 pageshow 裡面加入  HoldOn.close(); 即可


簡單分享一下,解決一下之前專案的技術債。



當麻許的超技八 2014 | Donma Hsu Design.