记录一个关于 Document.on绑定事件后,致使页面卡顿的状况

假设当前页面的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

相关文章
相关标签/搜索