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用noConflict代替$的实现方法
Apr 12 jQuery
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
jquery submit()不能提交表单的解决方法
Apr 24 jQuery
jquery append与appendTo方法比较
May 24 jQuery
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
jQuery实现table中两列CheckBox只能选中一个的示例
Sep 22 jQuery
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
jquery实现点击弹出对话框
Feb 08 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
Nov 09 jQuery
jQuery实现穿梭框效果
Jan 19 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关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
php事务处理实例详解
2014/07/11 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
php的扩展写法总结
2019/05/14 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
Vue动态组件实例解析
2017/08/20 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
深入理解Python中变量赋值的问题
2017/01/12 Python
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
Python使用gRPC传输协议教程
2018/10/16 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
Python socket模块方法实现详解
2019/11/05 Python
Python range与enumerate函数区别解析
2020/02/28 Python
Python常驻任务实现接收外界参数代码解析
2020/07/21 Python
PIP和conda 更换国内安装源的方法步骤
2020/09/21 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
C语言笔试题回忆
2015/04/02 面试题
防灾减灾活动总结
2014/08/30 职场文书
工作证明格式及范本
2014/09/12 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android