解决jquery的$(document).on()事件多次执行的问题

1,773 阅读1分钟

问题简述

我们在使用$(document).on()来绑定事件的时候,有时候会出现一个事件执行多次的问题,为什么会这样呢? 原因很简单,是因为这段代码在执行的过程中进行了多次绑定。

解决办法

在绑定之前先解绑一次

$(document).off("click","#ele").on("click","#ele", function(){
    
})

不使用document绑定的方式

$("#ele").off("click").on("click", function(){

})

jQuery解除绑定事件

off 方法:

  • 不带参数,解绑元素上所有的方法
  • 带一个参数, 解绑这类型的方法
  • 第二个参数,解绑这类型指定的方法
function test1(){}

function test2(){}

$('button').click('test1')
$('button').click('test2')

$('button').off('click', test)