给元素绑定click事件时造成事件累加

在项目中,遇到了这样的问题:用li标签展示每个地区,然后给li增加click事件,当点击时,使用toggleClass()方法增加一个active的样式。

li存在一个div中,每次更换省份会使用ajax请求替换div中的内容,有的li标签点击后并没有出现选中的状态。刚开始以为是事件绑定的动作没有正确执行,通过调试发现是toggleClass()调用了多次,偶数次的调用就无选中状态。。。。。。。

百度了很多,说是使用unbind("click")去在绑定点击事件前解绑,然而没有用。。。。在点击事件中使用了unbind("click")方法发现标签也可以选中了羡慕

然而。。。不能取消选中大哭大哭

项目中使用了iscroll插件去进行屏幕的下拉刷新和滚动,大神说应该是每次ajax请求都会产生新的scroll对象,而旧的scroll没有被销毁,所以导致click事件累加。最后通过定义全局变量scroll,判断其是否为空,若不为空则调用destroy()方法进行销毁。

当当当当,问题解决了。


虽然原因都是click的累加,但解决办法并不一样,还是要根据自己的项目去寻找解决办法,别人的问题和解决办法对自己的问题就不一定适用了。遇见问题一定要搞清楚产生问题的根本!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值