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 相关文章推荐
JS操作Cookies包括(读取添加与删除)
Dec 26 Javascript
js innerHTML 改变div内容的方法
Aug 03 Javascript
jquery live()重复绑定的解决方法介绍
Jan 03 Javascript
JavaScript前端图片加载管理器imagepool使用详解
Dec 29 Javascript
JS平滑无缝滚动效果的实现代码
May 06 Javascript
JavaScript来实现打开链接页面的简单实例
Jun 02 Javascript
js中获取时间new Date()的全面介绍
Jun 20 Javascript
js常用的继承--组合式继承
Mar 06 Javascript
jQuery操作之效果详解
May 19 jQuery
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
Sep 24 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 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
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
php中通过curl smtp发送邮件
2012/06/05 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
基于jQuery的可以控制左右滚动及自动滚动效果的代码
2010/07/25 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
获取数组中最大最小值方法js代码(自写)
2013/08/12 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
Python实现将SQLite中的数据直接输出为CVS的方法示例
2017/07/13 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
python3中zip()函数使用详解
2018/06/29 Python
python pygame实现2048游戏
2018/11/20 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
python hough变换检测直线的实现方法
2019/07/12 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
超市开店计划书
2014/09/15 职场文书
工作自我评价范文
2015/03/05 职场文书
2015年党小组工作总结
2015/05/26 职场文书
《角的度量》教学反思
2016/02/18 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript