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的一些注意
Dec 06 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
Dec 15 Javascript
js 省地市级联选择
Feb 07 Javascript
javascript 用函数语句和表达式定义函数的区别详解
Jan 06 Javascript
js中top的作用深入剖析
Mar 04 Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 Javascript
JavaScript动态提示输入框输入字数的方法
Jul 27 Javascript
超链接怎么正确调用javascript函数
May 23 Javascript
老生常谈JavaScript中的this关键字
Oct 01 Javascript
jQuery弹出窗口简单实现代码
Mar 09 Javascript
vue.js中指令Directives详解
Mar 20 Javascript
webpack中的模式(mode)使用详解
Feb 20 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
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
js 动态文字滚动的例子
2011/01/17 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
python中黄金分割法实现方法
2015/05/06 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
网络教育自我鉴定
2013/11/01 职场文书
财务部岗位职责
2013/11/19 职场文书
历史专业个人求职信分享
2013/12/20 职场文书
中学生评语大全
2014/04/18 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
区域经理岗位职责
2015/02/02 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
环保建议书作文300字
2015/09/14 职场文书
Angular性能优化之第三方组件和懒加载技术
2021/05/10 Javascript
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android
Windows 11上手初体验:任务栏和开始菜单等迎来大改
2021/11/21 数码科技
python百行代码实现汉服圈图片爬取
2021/11/23 Python