深入理解jQuery之事件移除
2016-06-02 00:00
585 查看
有时候事件执行完了,想取消事件的效果可以通过一定的办法来处理。比如bind()方法,可以通过unbind()方法来移除事件的效果。
比如下面的一个案例:
html部分:
当点击按钮btn时,触发了三个点击事件,这里的append()方法,向div层中传递了三个段落内容。
append() 方法在被选元素的结尾(仍然在内部)插入指定内容。它与html()方法还是不同的,html()方法是改变整个元素中的内容,而不是向元素结尾插入内容。text()方法与html() 方法类似,但区别在于html()方法中可以写入html的代码,而且可以被正确的解析,而text() 只能当html代码为正常的字符串。
这里每次点击,都会执行一次事件,想div层末尾添加段落。
下面的代码是取消事件效果的,可以通过删除事件,使点击效果失效:
$('#btn').unbind("click");这句代码的作用就是取消元素btn下的click事件。它不仅仅对于bind()方法有效,它对于click()方法同样有效。从某种角度上讲,bind("click",function(){})与click(function(){})是等价的。
还可以针对具体的方法,删除特定的事件。
下面的代码可以参考:
unbind()方法的第二个参数是事件对应得执行函数的名字,这样执行完后,只有myFun2这个事件被删除了,其他两个click事件正常执行。
还有一种跟bind()方法类似的方法one(),区别大概就是one()方法只执行一次。
为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。
代码如下:
点击后,只执行一次。再次点击不会触发效果。这就是one方法。
以上这篇深入理解jQuery之事件移除就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
JQuery中DOM实现事件移除的方法
jquery利用命名空间移除绑定事件的方法
jQuery移除元素自动解绑事件实现思路及代码
jquery移除、绑定、触发元素事件使用示例详解
比如下面的一个案例:
<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>
html部分:
<body> <button id="btn">点击我</button> <div id="test"></div> </body>
当点击按钮btn时,触发了三个点击事件,这里的append()方法,向div层中传递了三个段落内容。
append() 方法在被选元素的结尾(仍然在内部)插入指定内容。它与html()方法还是不同的,html()方法是改变整个元素中的内容,而不是向元素结尾插入内容。text()方法与html() 方法类似,但区别在于html()方法中可以写入html的代码,而且可以被正确的解析,而text() 只能当html代码为正常的字符串。
这里每次点击,都会执行一次事件,想div层末尾添加段落。
下面的代码是取消事件效果的,可以通过删除事件,使点击效果失效:
<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>
$('#btn').unbind("click");这句代码的作用就是取消元素btn下的click事件。它不仅仅对于bind()方法有效,它对于click()方法同样有效。从某种角度上讲,bind("click",function(){})与click(function(){})是等价的。
还可以针对具体的方法,删除特定的事件。
下面的代码可以参考:
<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>
unbind()方法的第二个参数是事件对应得执行函数的名字,这样执行完后,只有myFun2这个事件被删除了,其他两个click事件正常执行。
还有一种跟bind()方法类似的方法one(),区别大概就是one()方法只执行一次。
为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。
代码如下:
<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>
点击后,只执行一次。再次点击不会触发效果。这就是one方法。
以上这篇深入理解jQuery之事件移除就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
浅析jquery unbind()方法移除元素绑定的事件JQuery中DOM实现事件移除的方法
jquery利用命名空间移除绑定事件的方法
jQuery移除元素自动解绑事件实现思路及代码
jquery移除、绑定、触发元素事件使用示例详解
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- JavaScript演示排序算法
- 2015-2016网页设计趋势分析 Web Design of Trends
- jQuery Ajax 跨域调用
- 移动端的长按事件
- jquery教程靠边站,一分钱不花让你免费学会jquery
- JQuery+Strusts1.x无刷新登录
- $.ajax()方法详解
- jQuery ajax - ajax() 方法
- JavaScript 各种遍历方式详解
- 数组方法汇总
- jQuery Html控件基本操作(日常收集整理)
- jQuery插件实现文字无缝向上滚动效果代码
- jQuery菜单插件用法实例
- JQuery 初体验(建议学习jquery)
- 基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
- Jquery实现的table最后一行添加样式的代码
- jQuery实现向下滑出的平滑下拉菜单效果
- jQuery 练习[一] 学习jquery的准备工作
- jquery获得页面元素的坐标值实现思路及代码