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> < ...
最新文章
- 占失物,笔记本电脑电池
- OC对象 vs CF对象
- JS-图片其他事件-Event对象-事件委托-DOM对象
- jenkins集成gitlab
- 华为Mate 20 X 5G版本月起全球开卖:国内上市的首款5G手机
- supervisor管理mysql靠谱吗_Supervisor 从入门到放弃
- C++最普通的定时器功能实现
- Android Robolectric 加载运行本地 So 动态库
- sonar扫描android项目配置 mac版
- DOM技术对xml增删改查后更新源文件异常报错
- matlab基于瑞利信道,一种基于MATLAB的瑞利信道仿真方法研究
- DPCM差分预测编码原理及实现
- 剧情插件Cutscene Creator uSequencer 1.3.7.1使用说明二
- 软件需求的三个层次——业务需求、用户需求和功能需求的区别
- 银行春招:六大行薪资待遇知多少?(上)
- Ray在蚂蚁大规模生成落地中的优化与实践
- Python ABC(抽象基类)
- 查看docker与宿主机网卡的对应关系,tcpdump在容器外网络抓包
- Vue过滤器-filter
- 用jquery实现隐藏列表表单的显示关闭切换以及Ajax方式改动提交相应的那一行的改动内容。...