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

<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>");});})
</script><body>
<button id="btn">点击我</button>
<div id="test"></div>
</body>

当单击按钮后,会出现如上图所示的效果。

1. 移除按钮元素上所有注册的事件

添加一个移除事件的按钮。然后为按钮绑定一个事件,代码如下:

<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><body>
<button id="btn">点击我</button>
<div id="test"></div>
<button id="delAll">删除所有事件</button>
</body>

因为元素绑定的都是 click 事件,所以不写参数也可以达到同样的目的。

$('#delAll').click(function(){$('#btn').unbind();
});

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

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

(1) 如果没有参数,则删除所有绑定的事件。

(2) 如果提供了事件类型作为参数,则只删除该类型的绑定事件。

(3) 如果把在绑定时传递的处理函数作为第2个参数,则只有这个特定的事件处理函数会被删除。

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

首先需要为这些匿名处理函数指定一个变量。然后就可以单独删除某一个事件了, jQuery 代码如下:

<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><body>
<button id="btn">点击我</button>
<div id="test"></div>
<button id="delTwo">删除第二个事件</button>
</body>

当单击“删除第二个事件”按钮后,再次单击“点击我”按钮,显示下图所示的效果。

另外,对于只需要触发一次,随后就要立即解除绑定的情况,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><body>
<button id="btn">点击我</button>
<div id="test"></div>
</body>

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

转载于:https://www.cnblogs.com/jwen1994/p/10568301.html

jQuery 移除事件相关推荐

  1. js 添加和移除onclick事件(通过匿名函数实现)及jquery 移除事件

    2019独角兽企业重金招聘Python工程师标准>>> 代码如下: //移除事件  document.getElementById('mobile-a').οnclick=funct ...

  2. JQuery移除事件

    移除事件 unbind(type [,data])     //data是要移除的函数 $('#btn').unbind("click"); //移除click $('#btn') ...

  3. html移除click事件绑定,带你了解JQuery中绑定事件(bind())和移除事件(unbind())...

    本文主要向大家详细介绍了jQuery的绑定事件和移除事件的使用方法和示例分享,这里推荐给有需要的小伙伴们参考下. 有时候事件执行完了,想取消事件的效果可以通过一定的办法来处理.比如bind()(绑定事 ...

  4. jQuery bind(绑定事件)前别忘了unbind(移除事件)

    效果图: 代码 <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" ...

  5. jquery 点击事件点击元素添加和移除class

    jquery 点击事件点击元素添加和移除class 怎么实现点击一个元素给它添加class,再点击一个元素移除上一个元素的class,再给现在点击的元素添加class <div class=&q ...

  6. jquery unbind 异步_JQuery中绑定事件(bind())和移除事件(unbind())

    有时候事件执行完了,想取消事件的效果可以通过一定的办法来处理.比如bind()(绑定事件)和unbind()(移除通过bind()方法添加的事件)方法来移除事件的效果. 比如下面的一个案例: $(fu ...

  7. jQuery绑定事件监听bind和移除事件监听unbind用法实例详解

    这里分别采用后bind(eventType,[data],Listener)//data为可选参数,one()该方法绑定的事件触发一次后自动删除,unbind(eventType,Listener), ...

  8. jQuery 移除元素的事件

    jQuery 移除元素的事件 移除行内事件 $("el").removeAttr("onclick") 移除绑定事件 $("el").unb ...

  9. JQuery 给DOM控件绑定和移除事件的方法

    绑定事件: Method 1 $("#myElement").click( function() { alert($(this).text()); }); Method 2 $(& ...

  10. jQuery on(绑定事件)前别忘了off(移除事件)

    废话不多说直接上代码,用到的自己运行看效果 <!DOCTYPE html> <html> <head><title></title> < ...

最新文章

  1. 吴恩达《Machine Learning》精炼笔记 5:神经网络
  2. Dojo学习笔记(一):Hello Dojo!
  3. Java 嵌套类和内部类演示样例lt;二gt;
  4. ASM磁盘的添加与删除
  5. 封禁3年,微信重磅功能回归!
  6. MIT 线性代数 Linear Algebra 25: 对称矩阵的特征值特征向量,正定矩阵
  7. mysql c 打开数据库文件怎么打开_vs中打开数据库文件路径
  8. centos离线安装(升级)nvidia显卡驱动及cuda10.2
  9. python学习No5
  10. 快乐的强化学习6——DDPG及其实现方法
  11. 高阶无穷小量和低阶无穷小量 洛必达的使用条件 三阶导数的几何意义  阶乘的意义,0的阶乘为什么等于1 泰勒公式简单理解,麦克劳林级数 带拉格朗日余项的泰勒公式和带皮亚诺余项的泰勒公式区别
  12. python画circos图_Circos图--在线绘制
  13. win10备份为wim_电脑:Win10 专业版提取制作方法
  14. 字节跳动,野心十足,十年有可能打败腾讯成为第二个互联网巨头吗?
  15. 【开发工具】Office Tool Plus 安装 Office
  16. linux分区方案 1t,linux CentOS WEB服务器分区方案
  17. 408-机组一些小知识点
  18. SAP-MM:物料采购订单的客制化开发与对应打印/预览的配置
  19. 千米传音 之 PA无线赋能
  20. python控件_python常用控件

热门文章

  1. G-Sensor 校准标准
  2. Android Xfermode 实战 实现圆形、圆角图片
  3. Square(hdu 1511)
  4. C#问题——interface class
  5. 20200308——多项式回归预测工资
  6. 谷歌高频面试题-较小的三数之和
  7. 深度学习TF—4.随机梯度下降
  8. keras搭建多层LSTM
  9. 二叉树最 前序、中序、后序、层序遍历(最终)
  10. Python中的字典与集合