深入理解jQuery之事件移除

 更新时间:2016年06月02日 10:23:58   投稿:jingxian  
下面小编就为大家带来一篇深入理解jQuery之事件移除。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

有时候事件执行完了,想取消事件的效果可以通过一定的办法来处理。比如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方法。

以上这篇深入理解jQuery之事件移除就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • jQuery基于cookie实现的购物车实例分析

    jQuery基于cookie实现的购物车实例分析

    这篇文章主要介绍了jQuery基于cookie实现购物车的方法,结合实例形式简单分析了jQuery基于cookie实现针对商品信息的购物车存储功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-12-12
  • jQuery 动态粒子效果示例代码

    jQuery 动态粒子效果示例代码

    这篇文章主要介绍了jQuery 实现动态粒子效果的方法,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • jQuery日期范围选择器附源码下载

    jQuery日期范围选择器附源码下载

    jQuery Date Range Picker是一款允许用户选择一个日期时间范围的jQuery日期选择器插件。下面通过本文给大家分享jQuery日期范围选择器的实现思路,需要的的朋友参考下吧
    2017-05-05
  • 使用jQuery简单实现模拟浏览器搜索功能

    使用jQuery简单实现模拟浏览器搜索功能

    这篇文章主要介绍了使用jQuery简单实现模拟浏览器搜索功能,需要的朋友可以参考下
    2014-12-12
  • jquery实现搜索框常见效果的方法

    jquery实现搜索框常见效果的方法

    这篇文章主要介绍了jquery实现搜索框常见效果的方法,可实现搜索框文字显示效果,非常具有实用价值,需要的朋友可以参考下
    2015-01-01
  • jQuery功能函数详解

    jQuery功能函数详解

    这篇文章主要详细介绍了一些jQuery功能函数,例如浏览器检测,字符串处理、数组的编辑等,需要的朋友可以参考下
    2015-02-02
  • jquery+ajax+text文本框实现智能提示完整实例

    jquery+ajax+text文本框实现智能提示完整实例

    这篇文章主要介绍了jquery+ajax+text文本框实现智能提示的方法,涉及jQuery基于ajax交互实现后台数据的动态查询与文本提示信息的显示功能,需要的朋友可以参考下
    2016-07-07
  • jQuery点击页面其他部分隐藏下拉菜单功能

    jQuery点击页面其他部分隐藏下拉菜单功能

    这篇文章主要介绍了jQuery点击页面其他部分隐藏下拉菜单功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • 基于jquery实现的鼠标拖拽元素复制并写入效果

    基于jquery实现的鼠标拖拽元素复制并写入效果

    基于jquery实现的鼠标拖拽元素复制并写入效果的实现代码,需要的朋友可以参考下。
    2011-08-08
  • jquery垂直公告滚动实现代码

    jquery垂直公告滚动实现代码

    公告滚动想必大家都有见到过吧,实现方法也有很多,下面为大家介绍使用jquery实现垂直公告滚动,感兴趣的朋友不要错过
    2013-12-12

最新评论