萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> Ajax局部更新導致JS事件重復觸發問題的解決方法

Ajax局部更新導致JS事件重復觸發問題的解決方法

 如果在頁面中包含一個ajax更新的列表,那麼需要小心非動態更新部分的事件處理。

以帶有公共工具欄的列表界面為例:

| Menu1 | Menu2

----------------------------------------------------------------------------

ID TITLE DESCRIPTION OPERATION

1 test1 hey test X - ...

2 test2 why not X - ...

----------------------------------------------------------------------------

1 2 3 4 5 6 7 8 9 10 11 12 $.ajax(  ....  data: { ...  },  success: function(data) {  $('Menu1').click(  function(){  //do something  }  );  }  )

由於Menu1界面部分是公共的,並不會隨著列表數據的更新而被重新載入,那麼上面的代碼將產生重復的click事件觸發(在多次更新列表後)。

所以我們要注意,在ajax列表更新的結果處理中,不能包含工具欄事件偵聽的重新初始化。

copyright © 萬盛學電腦網 all rights reserved