有时候事件执行完了,想取消事件的效果可以通过一定的办法来处理。比如bind()方法,可以通过unbind()方法来移除事件的效果。

比如下面的一个案例:

<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方法。

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/archive/2012/09/12/2681323.html,如需转载请自行联系原作者

jQuery之事件移除相关推荐

  1. jQuery中事件移除

    // 1. 如果事件是通过on的方式注册的,如何移除?// div.onclikc = null;// 2. 如果通过addEventListener注册的事件,如何移除?// removeEvent ...

  2. jQuery live事件说明及移除live事件方法

    1.live事件说明 jQuery1.3增加了一个live()方法,下面是手册上的说明: jQuery 1.3中新增的方法.给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件).也 ...

  3. Java程序员从笨鸟到菜鸟之(九十)跟我学jquery(六)jquery中事件详解

    由于jQuery本身就是web客户端的有力帮手,所以事件对于它来说就显得尤为重要了,事件是脚本编程的灵魂. 所以此内容也是jQuery学习的重点. 在传统的JavaScript中,注册一个事件也是非常 ...

  4. 深入学习jQuery鼠标事件

    前面的话 鼠标事件是DOM事件中最常用的事件,jQuery对鼠标事件进行了封装和扩展.本文将详细介绍jQuery鼠标事件 类型 鼠标事件共10类,包括click.contextmenu.dblclic ...

  5. updatepanel失效怎么办_【点滴积累】解决jQuery绑定事件在updatepanel更新后失效的方法...

    背景 接到了领导给的一个New Feature,为系统的菜单导航栏进行一些个性化的操作(鼠标移到导航菜单时下方出现子菜单,移到其他的菜单选项时显示该选项的子菜单,隐藏其他子菜单.其次就是当使用鼠标点击 ...

  6. 使用 jQuery Mobile 与 HTML5 开发 Web App (十一) —— jQuery Mobile 事件详解

    在前文<使用 jQuery Mobile 与 HTML5 开发 Web App -- jQuery Mobile 默认配置与事件基础>中,Kayo 对 jQuery Mobile 事件的基 ...

  7. jQuery的事件冒泡,事件对象和图片跟随

    ** jQuery的事件冒泡,事件对象和图片跟随 ** 事件冒泡## 点击我是span这个,他会提示两个弹窗,第一个是 我是span,第二个是 我是div. 在span标签后加一个 return fl ...

  8. jQuery 动画事件

    目录 动画 代码演示 效果图 代码演示 效果图 事件 代码演练 动画 jQuery动画:基本包含了一个动画的 显示 滑动 出入效果 等三种效果 显示动画 1.显示动画 show() 2.隐藏动画 hi ...

  9. php+jq+添加css,jQuery添加/改变/移除CSS类

    转自:http://www.jbxue.com/article/24589.html 在jquery中用到removeClass移除CSS类.addClass添加CSS类.toggleClass添加或 ...

最新文章

  1. 腾讯SaaS生态战略再升级,“一云多端”助力企业数字化转型
  2. uml识别事件表格_LOPA分析:使能条件和修正因子在场景识别方法中的应用
  3. QT5知识:装饰器@pyqtSlot和槽和信号
  4. thinkphp 在接口开发或者接入三方时解决跨域
  5. python读取指定行到最后一行_python读取文件最后一行两种方法
  6. Minor GC和Major GC
  7. 小程序接口学习—开发接口
  8. 24小时从0到1开发阴阳师小程序
  9. 写一个含数字,拼音,汉字的验证码生成类
  10. cisco思科交换机命令参考大全
  11. 【51单片机实例教程】智能小车(一)让你的小车跑起来
  12. ppt文件太大怎么压缩
  13. Word2019 插入脚注问题
  14. Db2数据库:日期函数DATE函数
  15. Unity用户手册-IL2CPP
  16. MySQL语句-查看当前数据库有哪些表(SHOW TABLES)
  17. 《甄嬛传》影评(整理)
  18. 绩效考核管理系统使用说明2
  19. 如何优雅地在Stack OverFlow 上进行编程问题搜索
  20. PHP/MySQL教程

热门文章

  1. Python升级pip并安装opencv、moviepy包
  2. Part One 基本数据类型
  3. 安卓 App 库存系统开发 开发成本估计
  4. 米的换算单位和公式_小学数学公式单位换算总结,请为你的孩子收藏好
  5. mysql服务器的搭建_基于linux的Mysql服务器的搭建
  6. VB为MSHFlexGrid添加表格编辑功能
  7. Mp3Play.ocx控件让音乐之声响起来
  8. 吴恩达团队新研究!用MRNet进行膝关节磁共振影像诊断 已媲美医生 | 论文
  9. Nuro发布自家自动驾驶安全报告,提出无人车12大安全要素 | 报告下载
  10. 复杂场景下,如何用AI技术做地图?