JQuery中DOM实现事件移除的方法


Posted in Javascript onJune 13, 2015

本文实例讲述了JQuery中DOM实现事件移除的方法。分享给大家供大家参考。具体如下:

可以为同一个元素绑定多个事件,也可以为多个元素绑定同一个事件。假设网页上有一个<button>元素,使用以下代码为该元素绑定多个相同的事件。

$(function(){
 $('#btn').bind("click", function(){
     $('#test').append("<p>我的绑定函数1</p>");
   }).bind("click", function(){
     $('#test').append("<p>我的绑定函数2</p>");
   }).bind("click", function(){
     $('#test').append("<p>我的绑定函数3</p>");
  });
})

1.移除按钮元素上以前注册的事件

先来看看下面代码,点击“删除所有事件”按钮,即可删除上面btn的事件:

<script type="text/javascript">
 $(function(){
  $('#btn').bind("click", function(){
      $('#test').append("<p>我的绑定函数1</p>");
    }).bind("click", function(){
      $('#test').append("<p>我的绑定函数2</p>");
    }).bind("click", function(){
      $('#test').append("<p>我的绑定函数3</p>");
   });
  $('#delAll').click(function(){
    $('#btn').unbind("click");
  });
 })
</script>
<button id="btn">点击我</button>
<div id="test"></div>
<button id="delAll">删除所有事件</button>

来看看unbind()方法的语法结构:unbind([type] [, data]);

第1个参数是事件类型,第2个参数是将要移除的函数,具体说明如下:

如果没有参数,则删除所有绑定的事件。
如果提供了事件类型作为参数,则只删除该类型的绑定事件。
如果把在绑定时传递的处理函数作为第2个参数,则只有这个特定的事件处理函数会被删除。

2.移除<button>元素的其中一个事件

首先需要为这些匿名处理函数指定一个变量。

<script type="text/javascript">
 $(function(){
  $('#btn').bind("click", myFun1 = function(){
      $('#test').append("<p>我的绑定函数1</p>");
    }).bind("click", myFun2 = function(){
      $('#test').append("<p>我的绑定函数2</p>");
    }).bind("click", myFun3 = function(){
      $('#test').append("<p>我的绑定函数3</p>");
   });
  $('#delTwo').click(function(){
    $('#btn').unbind("click",myFun2);
  });
 })
</script>
<button id="btn">点击我</button>
<div id="test"></div>
<button id="delTwo">删除第二个事件</button>

另外,对于只需要触发一次,随后就要立即解除绑定的情况,JQuery提供了一种简写方法——one()方法。one()方法可以为元素绑定处理函数。当处理函数触发一次后,立即被删除。即在每个对象上,事件处理函数只会被执行一次。

one()方法的结构与bind()方法类似,使用方法也与bind()方法相同,其语法结构如下:one (type, [data], fn);

<script type="text/javascript">
 $(function(){
  $('#btn').one("click", function(){
      $('#test').append("<p>我的绑定函数1</p>");
    }).one("click", function(){
      $('#test').append("<p>我的绑定函数2</p>");
    }).one("click", function(){
      $('#test').append("<p>我的绑定函数3</p>");
   });
 })
</script>
<button id="btn">点击我</button>
<div id="test"></div>

使用one()方法为<button>元素绑定单击事件后,只在用户第1次单击按钮时,处理函数才执行,之后的单击就不会再起作用。

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

Javascript 相关文章推荐
jquery中通过父级查找进行定位示例
Jun 28 Javascript
JQuery对id中含有特殊字符的转义处理示例
Sep 06 Javascript
详解JavaScript的Date对象(制作简易钟表)
Apr 07 Javascript
js实现无缝循环滚动
Jun 23 Javascript
微信小程序  自定义创建详细介绍
Oct 27 Javascript
详解vue-cli开发环境跨域问题解决方案
Jun 06 Javascript
vue的状态管理模式vuex
Nov 30 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 Javascript
JavaScript布尔运算符原理使用解析
May 06 Javascript
何时使用Map来代替普通的JS对象
Apr 29 Javascript
JQuery中DOM事件冒泡实例分析
Jun 13 #Javascript
JQuery中DOM事件合成用法实例分析
Jun 13 #Javascript
JQuery中DOM事件绑定用法详解
Jun 13 #Javascript
JQuery中DOM加载与事件执行实例分析
Jun 13 #Javascript
JavaScript中的Math.LN2属性用法详解
Jun 12 #Javascript
JavaScript中的Math.E属性使用详解
Jun 12 #Javascript
详解JavaScript中Date.UTC()方法的使用
Jun 12 #Javascript
You might like
根德YB400的电路分析
2021/03/02 无线电
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
php微信开发接入
2016/08/27 PHP
Laravel下生成验证码的类
2017/11/15 PHP
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
音乐播放用的的几个函数
2006/09/07 Javascript
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
2007/04/20 Javascript
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
pycharm 安装JPype的教程
2019/08/08 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
精选奢华:THE LIST
2019/09/05 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
英国顶尖手表珠宝品牌独家授权经销商:HS Johnson
2020/10/28 全球购物
什么是规则表达式
2012/05/03 面试题
公司市场部岗位职责
2013/12/02 职场文书
美术教学感言
2014/02/22 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
留守儿童工作方案
2014/06/02 职场文书
2015年预算员工作总结
2015/05/14 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
2016计划生育先进个人事迹材料
2016/02/29 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python