如果在頁面中包含一個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列表更新的結果處理中,不能包含工具欄事件偵聽的重新初始化。