我有一個關於事件的問題。如何在jQuery中暫停事件?
基本上,我想,當用戶點擊一個鏈接離開頁面運行的jQuery方法。在這種方法我想查一些東西才離開,所以我知道我可以打電話:
e.preventDefault();
但如果我希望事件後繼續我阻止事件?
任何建議如何處理呢?
謝謝!
我有一個關於事件的問題。如何在jQuery中暫停事件?
基本上,我想,當用戶點擊一個鏈接離開頁面運行的jQuery方法。在這種方法我想查一些東西才離開,所以我知道我可以打電話:
e.preventDefault();
但如果我希望事件後繼續我阻止事件?
任何建議如何處理呢?
謝謝!
如果方法是同步的,你可以只從事件處理程序中調用它。在處理程序返回之前,默認操作不會執行,因此您有足夠的時間來決定是否要防止它。
如果方法是異步事情變得更加複雜。因爲它不可能等待的方法,你必須無條件地阻止默認行爲,並有條件地再次觸發了 - 可能與.trigger()
或.triggerHandler()
- 異步方法完成之後。
preventDefault和「希望事件繼續」是截然相反的。 preventDefault的目的是不讓默認事件繼續。也許你想給你做檢查,如果他們失敗了,然後調用了preventDefault,而如果他們成功了,你不叫了preventDefault,讓事件繼續。實質上,將preventDefault包裝在if()
語句中。
只要檢查本質上不是異步的。 – epascarello
@epascarello:謝謝,我只是在編輯這個可能性。 – Jon