什么是jquery的事件命名空间?

  先看如下简单代码:

 $("#btn").on("click.name1.name2",function(){
console.log(1);
})

  其中name1、name2即为所绑定click事件的命名空间,在这里命名空间在事件名后面用“.”来连接。在这里也可以把命名空间理解为别名,即这里绑定的click事件有两个别名name1和name2。

绑定具有命名空间的事件如何解除绑定?

  如下8种写法均可取消绑定之前绑定的click.name1.name2这一带命名空间的click事件:

  $("#btn").off("click");
$("#btn").off(".name1");
$("#btn").off(".name2");
$("#btn").off(".name1.name2");
$("#btn").off("click.name1");
$("#btn").off("click.name2");
$("#btn").off("click.name1.name2");
$("#btn").off("click.name2.name1");
9 $("#btn").off(".name2.name1");

1会取消绑定所有click事件(包括带任意命名空间的);

2会取消绑定命名空间中包括name1的所有事件(不仅仅click事件);

3会取消绑定命名空间中包括name2的所有事件(不仅仅click事件);

4会取消绑定命名空间中包括name1和name2的所有事件(不仅仅click事件);

5会取消绑定命名空间中包括name1的click事件;

6会取消绑定命名空间中包括name2的click事件;

7、8会取消绑定命名空间中包括name1和name2的click事件(name1和name2两个命名空间是平级的,并不是父级和子级的关系);

9会取消绑定命名空间中包括name1和name2的所有事件(不仅仅click事件);

  综合这几条可以发现命名空间之于jquery事件类似类名之于标签,这样就很好记忆。如果只想解绑不带命名空间的click事件呢?其实很简单:

$("#btn").off("click!");

  解绑时候在事件名后加上“!”即可,这样带有命名空间的事件不会受影响。

PS

  jQuery也可以绑定和解绑自定义事件,而且自定义事件也可以有命名空间。

浅谈jquery事件命名空间的更多相关文章

  1. 浅谈jquery关于select框的取值和赋值

    浅谈jquery关于select框的取值和赋值   jQuery("#select_id").change(function(){}); // 1.为Select添加事件,当选择其 ...

  2. jQuery事件命名空间多事件绑定自定义事件js 命名空间 javascript命名空间

    http://blog.csdn.net/pigpigpig4587/article/details/24727791 jQuery事件命名空间 jQuery支持事件命名空间,以方便事件管理.例如,在 ...

  3. 浅谈jQuery中的Ajax

    浅谈jQuery中的Ajax 一.前言 jQuery 对 Ajax 操作进行了封装, 在 jQuery 中最底层的方法时 $.ajax(), 第二层是 load(), $.get() 和 $.post ...

  4. 车大棒浅谈jQuery源码(二)

    前言 本来只是一个自己学习jQuery笔记的简单分享,没想到获得这么多人赏识.我自己也是傻呵呵的一脸迷茫,感觉到受宠若惊. 不过还是有人向批判我的文章说,这是基本知识点,完全跟jQuery源码沾不上边 ...

  5. jQuery事件命名空间

    先看一些代码: 也可以用bind进行事件绑定.我们看到上面的代码,我们可以在事件后面,以点号,加我们的名字,就是事件命名空间.所谓事件命名空间,就是事件类型后面以点语法附加一个别名,以便引用事件,如& ...

  6. 浅谈jquery之on()绑定事件和off()解除绑定事件

    off()函数用于移除元素上绑定的一个或多个事件的事件处理函数. off()函数主要用于解除由on()函数绑定的事件处理函数. 该函数属于jQuery对象(实例). 语法 jQuery 1.7 新增该 ...

  7. 浅谈 jQuery 事件源码定位问题

    该方法已过期,chrome 48还是49开始,自带各种流行框架的事件绑定解析. 勾上这个选项即可. 昨天群里有人问了个事件源码定位的问题,简单描述下是这样的. 在一个不是自己写的页面上,如何快速定位到 ...

  8. 浅谈Jquery中的bind(),live(),delegate(),on()绑定事件方式

    前言 因为项目中经常会有利用jquery操作dom元素的增删操作,所以会涉及到dom元素的绑定事件方式,简单的归纳一下bind,live,delegate,on的区别,以便以后查阅,也希望该文章日后能 ...

  9. 浅谈JS事件冒泡

    今天要跟大家谈的是事件冒泡,这个事件呢,也是两面性的,有时候给我们带来bug,有时候优点也很明显.我们就一起来看看它的真面目.  首先看看事件冒泡是什么? 事件冒泡 :当一个元素接收到事件的时候 会把 ...

随机推荐

  1. CSS:margin和padding之谜

    margin外边距,padding内边距.光看书本的介绍,理解起来好费劲,那咱就举个荔枝:你家的保险箱,是那种镶在墙壁里的,保险箱与墙壁的距离就是margin,保险箱壁就是所谓的border,保险箱与 ...

  2. 初学python之感悟

    python的强大有目共睹,现将初学python,觉得其中比较重要的知识罗列如下: 类似于数组的东西:列表.元组.集合.字符串以及字典,这几个东西充分体现了python的强大和逆天. 列表: x=[1 ...

  3. centos6.8安装mysql5.5

    在使用阿里云的时候发现centos6.8系统自带的源当中没有mysql5.5,在网易这些源里面也是5.1的版本.这里安装mysql5.5的话需要另外添加一个源. 1.查看是否已经安装了MySQL rp ...

  4. Freeswitch 各版本一键安装脚本 Freeswitch 快速安装 G729编解码库

    最近有时间整理,写了freeswitch的一键安装包分享一下,里面带有 mysql=0 是否选择安装mysql. 其他提示:脚本里面集成了安装g729脚本,支持录音.转码的bcg729脚本. 1.下载 ...

  5. react-redux-数据流

    redux是严格的单向数据流 1,store.dispatch(action) 2, reducer(previousState, action), reducer是纯函数.它仅仅用于计算下一个 st ...

  6. JAVAEE第三周

    2.背景:看到Session时,感到很熟悉,毕竟涉及到过类似的编程,用得最多的地点就是保存客户端的信息和记录,比如说你已经登陆过某个网站,下次访问时不想要麻烦的重新登陆你就就可以使用这个机制.Sess ...

  7. JsonP的实现原理?

    动态创建script标签,通过script标签中的src跨域属性,连接对方接口,并将回调函数通过接口传递给对方,对方服务器在准备好数据后再通过调用回调函数并以传递参数的方式将数据返回来.

  8. Apache安装,亲测成功

    工作需要,为一台空白服务器安装apache,小白程序员,搞了一个下午,惭愧! 工具需要,也可以自己到apache下载 http://httpd.apache.org/download.cgi 遇到的b ...

  9. 关于angular实现表单的一些问题

    如何用angular实现表单的一些问题?核心步骤大概如下: 创建模型类 创建控制此表单的组件. 创建具有初始表单布局的模板. 使用ngModel双向数据绑定语法把数据属性绑定到每个表单输入控件. 往每 ...

  10. 一个入门rpc框架的学习

    一个入门rpc框架的学习 参考 huangyong-rpc 轻量级分布式RPC框架 该程序是一个短连接的rpc实现 简介 RPC,即 Remote Procedure Call(远程过程调用),说得通 ...