假設當前頁面的js文件中有以下函數:函數
function A(){ function B(); } function B(){ $(document).on("click","#元素id",function(){ dosomething……; }); }
函數A是一個按鈕上綁定的onclick函數處理;spa
那麼每次點擊按鈕觸發A函數以後,都會致使B函數的執行,進而 $("#元素id") 這個元素就會綁定一次點擊事件。code
若是屢次觸發A函數以後,致使 $("#元素id") 上面綁定屢次的點擊事件,blog
而後再點擊 $("#元素id") 的時候,就會發現該元素上面的點擊事件的邏輯被執行屢次,進而致使頁面卡頓,表單重複提交等狀況。事件
爲避免這種狀況,就須要在使用on綁定函數的時候,先使用off解綁以前的函數。以下寫法:io
$(document).off("click").on("click","#元素id",function(){ dosomething……; });
這樣既可避免 元素上綁定的點擊事件的邏輯重複執行屢次。function