一個JavaScript邏輯,會自動綁定函數到按鈕的click事件,但是這段代碼會反復注冊事件。這樣依賴onNext函數會在點擊一次按鈕的時候多次觸發。
這是JQuery內部沒有判斷是否綁定多次,懷疑其內部用了數組保存事件函數,而且沒有去重。
下面的代碼預防了這個問題。解決方案很簡單。
復制代碼 代碼如下:
if (!this.hasPageBarEvents) {
$(".pNext").on("click", this, this.onNext);
this.hasPageBarEvents = true;
}
以後用到JQuery要小心這個特性。