@[TOC](在使用 $(document).on() 时,事件执行多次的问题)
问题描述
在我们使用 $(document).on()
时,绑定事件时,有时候会出现同一个事件执行多次的问题。
原因是 on() 方法的一个特性:绑定了多少次就触发多少次,这就是问题所在。
// 点击多次,绑定了多次
$(document).on('click','.add',function(){});
解决方法,使用off()方法解绑。
解决问题的方法就是对重复绑定的事件进行解绑。
解决思路是:先使用 off() 解除绑定事件
(防止 on() 绑定多次触发多次),再使用 on() 重新绑定事件
即可。
// 写法1
$(document).off('click','.add').on('click','.add',function(){});
// 写法2
$(".add").off('click').on('click',function(){});