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

  • 1418
  • 0

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

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

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

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


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

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

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

 

window.addEventListener('pageshow', function (event) {
            
            HoldOn.close();
});

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

---

請你暫時把你的勇氣給我 在夢想快消失的時候 讓我的 Code 用力的穿過天空 為愛我的人做一秒英雄 如果這篇文章有幫助到您,簡單留個言,或是幫我按個讚,讓我有寫下去的動力…

Yesterday I wrote down the code. I bet I could be your hero. I am a mighty little programmer.