jQuery 移除事件
在绑定事件的过程中,不仅可以为同一个元素绑定多个事件,也可以为多个元素绑定同一个事件。假设网页上有一个<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 移除事件相关推荐
- js 添加和移除onclick事件(通过匿名函数实现)及jquery 移除事件
2019独角兽企业重金招聘Python工程师标准>>> 代码如下: //移除事件 document.getElementById('mobile-a').οnclick=funct ...
- JQuery移除事件
移除事件 unbind(type [,data]) //data是要移除的函数 $('#btn').unbind("click"); //移除click $('#btn') ...
- html移除click事件绑定,带你了解JQuery中绑定事件(bind())和移除事件(unbind())...
本文主要向大家详细介绍了jQuery的绑定事件和移除事件的使用方法和示例分享,这里推荐给有需要的小伙伴们参考下. 有时候事件执行完了,想取消事件的效果可以通过一定的办法来处理.比如bind()(绑定事 ...
- jQuery bind(绑定事件)前别忘了unbind(移除事件)
效果图: 代码 <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" ...
- jquery 点击事件点击元素添加和移除class
jquery 点击事件点击元素添加和移除class 怎么实现点击一个元素给它添加class,再点击一个元素移除上一个元素的class,再给现在点击的元素添加class <div class=&q ...
- jquery unbind 异步_JQuery中绑定事件(bind())和移除事件(unbind())
有时候事件执行完了,想取消事件的效果可以通过一定的办法来处理.比如bind()(绑定事件)和unbind()(移除通过bind()方法添加的事件)方法来移除事件的效果. 比如下面的一个案例: $(fu ...
- jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
这里分别采用后bind(eventType,[data],Listener)//data为可选参数,one()该方法绑定的事件触发一次后自动删除,unbind(eventType,Listener), ...
- jQuery 移除元素的事件
jQuery 移除元素的事件 移除行内事件 $("el").removeAttr("onclick") 移除绑定事件 $("el").unb ...
- JQuery 给DOM控件绑定和移除事件的方法
绑定事件: Method 1 $("#myElement").click( function() { alert($(this).text()); }); Method 2 $(& ...
- jQuery on(绑定事件)前别忘了off(移除事件)
废话不多说直接上代码,用到的自己运行看效果 <!DOCTYPE html> <html> <head><title></title> < ...
最新文章
- 吴恩达《Machine Learning》精炼笔记 5:神经网络
- Dojo学习笔记(一):Hello Dojo!
- Java 嵌套类和内部类演示样例lt;二gt;
- ASM磁盘的添加与删除
- 封禁3年,微信重磅功能回归!
- MIT 线性代数 Linear Algebra 25: 对称矩阵的特征值特征向量,正定矩阵
- mysql c 打开数据库文件怎么打开_vs中打开数据库文件路径
- centos离线安装(升级)nvidia显卡驱动及cuda10.2
- python学习No5
- 快乐的强化学习6——DDPG及其实现方法
- 高阶无穷小量和低阶无穷小量 洛必达的使用条件 三阶导数的几何意义 阶乘的意义,0的阶乘为什么等于1 泰勒公式简单理解,麦克劳林级数 带拉格朗日余项的泰勒公式和带皮亚诺余项的泰勒公式区别
- python画circos图_Circos图--在线绘制
- win10备份为wim_电脑:Win10 专业版提取制作方法
- 字节跳动,野心十足,十年有可能打败腾讯成为第二个互联网巨头吗?
- 【开发工具】Office Tool Plus 安装 Office
- linux分区方案 1t,linux CentOS WEB服务器分区方案
- 408-机组一些小知识点
- SAP-MM:物料采购订单的客制化开发与对应打印/预览的配置
- 千米传音 之 PA无线赋能
- python控件_python常用控件