jQuery事件多次绑定与解绑问题实例分析


Posted in jQuery onFebruary 19, 2019

本文实例分析了jQuery事件多次绑定与解绑问题。分享给大家供大家参考,具体如下:

jQuery事件绑定很常见,相信大家经常会用到clickfocusblur等事件,但是如果对控件的某个事件绑定多个方法会是怎样的结果呢,覆盖、累加、或其他效果?今天我就来验证一下这个疑问并说说如何解绑。

一、jQuery事件多次绑定

<head>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function () {
      //第二次绑定
      $("#btnAdd").click(function () {
        alert("bind click1");
      });
      //第三次绑定
      $("#btnAdd").on("click", function () {
        alert("bind click2");
      });
      //第四次绑定
      $("#btnAdd").bind("click", function () {
        alert("bind click3");
      });
    });
    function add1() {
      alert("add1()");
    }
  </script>
</head>
<body>
  <h2>UserController->Index</h2>
  <!--第一次绑定-->
  <input type="button" id="btnAdd" name="btnAdd" value="Add" onclick="add1()" />
</body>

验证结果:对控件的某个事件进行多次绑定效果会叠加,截图如下:

jQuery事件多次绑定与解绑问题实例分析

二、jQuery事件解绑

既然能绑定事件,那应该也能对事件解绑,下面展示解绑的方法:

<head>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function () {
      $("#btnAdd").click(function () {
        alert("bind click1");
      });
      $("#btnAdd").on("click", add2);
      $("#btnAdd").bind("click", add3);
    });
    function add1() {
      alert("add1()");
    }
    function add2() {
      alert("bind click2");
    }
    function add3() {
      alert("bind click3");
    }
    function cancelBind() {
      //不指定方法名则解绑click事件对应的所有方法,标签内onclick设置的方法仍会执行
      //$("#btnAdd").off("click");
      //$("#btnAdd").unbind("click");
      //解绑click事件对应的add2方法
      $("#btnAdd").off("click", add2);
      //$("#btnAdd").unbind("click", add3);
    }
  </script>
</head>
<body>
  <h2>UserController->CancelBind</h2>
  <input type="button" id="btnAdd" name="btnAdd" value="Add" onclick="add1()" />
  <input type="button" id="btnCancelBind" name="btnCancelBind" value="CancelBind" onclick="cancelBind()" />
</body>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 jQuery
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
jQuery Tree Multiselect使用详解
May 02 jQuery
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
jQuery.form.js的使用详解
Jun 14 jQuery
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
jQuery之动画ajax事件(实例讲解)
Jul 18 jQuery
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
jQuery 防止相同的事件快速重复触发方法
Feb 08 jQuery
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
JQuery通过后台获取数据遍历到前台的方法
Aug 13 jQuery
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 #jQuery
jQuery AJAX与jQuery事件的分析讲解
Feb 18 #jQuery
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 #jQuery
jQuery插件实现非常实用的tab栏切换功能【案例】
Feb 18 #jQuery
jQuery实现的五星点评功能【案例】
Feb 18 #jQuery
jQuery实现的隔行变色功能【案例】
Feb 18 #jQuery
jQuery实现ajax的嵌套请求案例分析
Feb 16 #jQuery
You might like
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
Thinkphp极验滑动验证码实现步骤解析
2020/11/24 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
js实现简单点赞操作
2020/03/17 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
[00:11]战神迅矛
2019/03/06 DOTA
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
Python实现的几个常用排序算法实例
2014/06/16 Python
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
Python读取表格类型文件代码实例
2020/02/17 Python
python如何把字符串类型list转换成list
2020/02/18 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
关于python中remove的一些坑小结
2021/01/04 Python
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
会计助理的岗位职责
2013/11/29 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL