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实现日期级联效果
Jan 23 Javascript
jquery实现图片按比例缩放示例
Jul 01 Javascript
JavaScript分析、压缩工具JavaScript Analyser
Dec 31 Javascript
微信小程序 数据遍历的实现
Apr 05 Javascript
vue中实现methods一个方法调用另外一个方法
Feb 08 Javascript
vue-cli项目修改文件热重载失效的解决方法
Sep 19 Javascript
node实现分片下载的示例代码
Oct 17 Javascript
深入理解vue-class-component源码阅读
Feb 18 Javascript
基于Node的Axure文件在线预览的实现代码
Aug 28 Javascript
jQuery实现倒计时功能完整示例
Jun 01 jQuery
JavaScript如何操作css
Oct 24 Javascript
vue ant design 封装弹窗表单的使用
Jun 01 Vue.js
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
一个PHP操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
改写函数实现PHP二维/三维数组转字符串
2013/09/13 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
Markdown+Bootstrap图片自适应属性详解
2016/05/21 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
2016/08/11 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
jQuery元素选择器实例代码
2017/02/06 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
原生js添加一个或多个类名的方法分析
2019/07/30 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
通过C++学习Python
2015/01/20 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
python安装twisted的问题解析
2018/08/21 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
PHP统计代码行数的小代码
2019/09/19 Python
Python爬取网页信息的示例
2020/09/24 Python
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
营业员岗位职责范本
2015/04/14 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL