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实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 jQuery
基于jQuery实现定位导航位置效果
Nov 15 jQuery
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
jQuery实现图片下载代码
Jul 18 jQuery
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
jquery实现图片无缝滚动 蒙版遮蔽效果
Jan 11 jQuery
jquery插件懒加载的示例
Oct 24 jQuery
jQuery实现全选按钮
Jan 01 jQuery
jquery实现广告上下滚动效果
Mar 04 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下载CSS文件中的图片的代码
2013/09/24 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
GreyBox技术总结(转)
2010/11/23 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
jquery实现图片切换代码
2016/10/13 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
Python设计模式之观察者模式实例
2014/04/26 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
Python帮你识破双11的套路
2019/11/11 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
施工人员岗位职责
2013/12/12 职场文书
上学迟到的检讨书
2014/01/11 职场文书
求职简历的自我评价
2014/01/31 职场文书
广告词串烧
2014/03/19 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
公司人力资源管理制度
2015/08/05 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python