jQuery中防止重复绑定事件的问题
来源:互联网 发布:js 百度地图 标注位置 编辑:程序博客网 时间:2024/06/17 17:03
在工作当中,有这样的场景,对于一个按钮,在某些条件下,属于可点击状态,在另一些条件下,属于不可点击状态,可能我们就会通过jQuery动态的绑定事件,解绑事件,但此时,就要小心了,防止自己掉进重复绑定事件的问题上。
1、问题
在jQuery中,对于一个元素标签,是可以进行重复绑定事件的,比如下面的代码,button按钮就绑定了两次click事件,每次点击,触发了两次代码的执行。
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><title>bind多次绑定问题</title><script type="text/javascript" src="jquery.min.js"></script><script type="text/javascript">function register_click(){$('#button').click(function(){alert('button click');});}$(function(){//重复注册register_click();register_click();//模拟点击,会出现两次alert$('#button').click();});</script></head><body><button id="button">按钮</button></body></html>
2、解决方法
对于需要重复绑定事件的场景,在注册事件的时候首先unbind后bind,或者先off后on,代码如下:
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><title>bind多次绑定问题</title><script type="text/javascript" src="jquery.min.js"></script><script type="text/javascript">/*function register_click(){$('#button').unbind('click').bind('click',function(){alert('button click');});}*/function register_click(){$('#button').off('click').on('click',function(){alert('button click');});}$(function(){//重复注册register_click();register_click();//模拟点击$('#button').click();});</script></head><body><button id="button">按钮</button></body></html>
阅读全文
1 0
- jQuery中防止重复绑定事件的问题
- jQuery防止重复绑定事件的解决方法
- jQuery中重复绑定事件的解决
- jquery重复绑定事件问题
- jQuery重复绑定事件
- JQuery事件重复绑定
- jQuery 重复绑定事件的解决方法
- jQuery 中事件的绑定
- 对JQuery在循环中绑定事件的问题理解
- jquery事件重复绑定解决办法
- jquery事件重复绑定解决办法
- jquery事件重复绑定解决办法
- jquery事件重复绑定解决办法
- jquery事件重复绑定解决办法
- 用Jquery 的一些收获 事件删除 重复绑定事件
- 关于JQuery重复绑定的问题
- Jquery中click事件重复执行的问题
- jQuery 防止相同的事件快速重复触发
- 函数
- 第四讲 数据的处理
- 357. Count Numbers with Unique Digits 题解
- Sublime Text安装
- Spring 事务切面配置
- jQuery中防止重复绑定事件的问题
- 面试心得 --- 微信电影票面试心得
- IMWeb提升营Day2
- Java基础
- 关于@override报错的问题
- python学习之——socket模块
- java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class
- Qt控件焦点切换
- CentOS7安装配置vsftp搭建FTP