jQuery .on() and .off() 命名空间
jQuery1.7开始,jQuery引入了全新的事件绑定机制,jQuery .on() 和 off() 两个函数统一处理事件绑定,也是jQuery触发DOM元素事件的最佳方法。有时候既要trigger手动触发事件,也要从DOM元素上解绑事件,比如:
- $('.item').on('click', doThisCoolThing);
- $('.item').on('click', doThisOtherCoolThing);
- $('.item').trigger('click'); // 两个click事件都触发
- $('.item').off('click'); // 两个click事件都解绑
使用事件命名空间我们可以在创建事件的时候指派名称到事件处理器,并在使用trigger()和off()时通过这个名称指定到特定的函数。调用的时候就可以通过使用不同的命名空间灵活的指派事件. 比如:
- $('.item').on('click.navigate', doThisCoolThing);
- $('.item').on('click.notify', doThisOtherCoolThing);
- $('.item').trigger('click.navigate'); // 只有带有navigate这个命名空间的方法才会触发
- $('.item').off('click.notify'); // 只有带有notify这个命名空间的方法才会解绑
也可以使用多个命名空间,无论使用哪个名字都会生效,通过命名空间代码规范(产品.模块.事件)让事件的层次更清晰:
- $('.item').on('click.navigate.notify', doThisCoolThing);
- $('.item').trigger('click.navigate'); // 将触发click事件
- $('.item').off('click.notify'); // 将解绑click事件
jQuery .on() and .off() 命名空间的更多相关文章
- jQuery的事件绑定命名空间
jQuery的bind的函数在实际应用中用的不是特别多,只是他可以绑定一个事件,但不会即时触发,也可以通过unbind来解除绑定.在没有看到这篇文章之前,我一直不知道原来bind也可以有命名空间.事实 ...
- 第十七章:jQuery类库
javascript的核心API设计的很简单,但由于浏览器之间的不兼容性,导致客户端的API过于复杂.IE9的到来缓解了这种情况.然而使用javascript的框架或者工具类库,能简化通用操作,处理浏 ...
- jQuery插件开发详细教程
这篇文章主要介绍了jQuery插件开发详细教程,将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱,需要的朋友可以参考下 扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间. ...
- jQuery1.11源码分析(7)-----jQuery一些基本的API
这篇文章比较繁杂,主要就是把jQuery源码从上到下列出来,看我的注释就好了. jQuery源码对各种加载器做了处理. //阅读这个源码是请先了解一下概念,即时函数,工厂模式 (function( g ...
- ExtJS与jQuery的一点细节上的对比
首先说明这不是一篇完整解读ExtJS和jQuery所有方面差异的文章,只是针对我个人刚看了两天的jQuery产生的一些疑问的整理.之前用过一段时间ExtJS,了解ExtJS的一些机制.现在做移动开发, ...
- 2016年11月2日——jQuery源码学习笔记
1.jQuery()函数,即$().有四种不同的调用方式. (1)传递CSS选择器(字符串)给$()方法,返回当前文档中匹配该选择器的元素集.可选第二个参数,一个元素或jQuery对象,定义元素查询的 ...
- (转)跟我一起学JQuery插件开发教程
在逛codeproject网站的时候,突然看到一篇文章:How to write plugin in Jquery. 如果对E文好的同学 ,可以看上面的连接.现在我把上面网站的及结合自己的想法写这篇文 ...
- jQuery插件开发入门
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间.这篇文章将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱. 入门 编写一个jQuery插件开始于给jQuery.fn加入 ...
- 解析jQuery中extend方法--用法《一》
extend方法在jQuery中是一个很重要的方法,jQuey内部用它来扩展属性方法.常用语jQuery插件开发. jQuery提供了两个方法,$.extend和$.fn.extend,两个方法内部实 ...
随机推荐
- 【CSS】元素样式
1.使用CSS的三种方式: 方式一.通过元素的style属性来设置元素的样式 方式二.在HTML头部标签<head>中通过<link>标签引入一个外部的CSS资源,通常是一个C ...
- vue资源
Vue中文官网:https://cn.vuejs.org/ Vue源码:https://github.com/vuejs/vue Vue官方工具:https://github.com/vuejs vu ...
- OS + CentOS 7 / centos 7 / config / configuration / rescue / rc.local / yum
s centos7开启网卡功能 https://blog.csdn.net/nkd50000/article/details/78903479 网卡默认是关闭的,未分配ip地址,解决办法: 1.修改文 ...
- 面向对象【day07】:类的特性介绍(四)
本节内容 1.概述 2.访问属性 3.私有属性 4.总结 一.概述 在上篇博客中我们已经讲了一些关于类的知识,我们来回顾以下: 定义类(class dog(object))-> 实例化(d = ...
- Linux命令之如何从普通用户切换至管理员用户
普通用户,标志是一个$符号 管理员用户,标志是一个#符号 我要切换,敲打命令 sudo su - 然后输入你的管理员用户的密码(输入密码的时候是不可见的) 然后你就切换到#状态了.
- 5、Python-字典
定义 info = {'name': '班长', 'id': 88, 'sex': 'man', 'address': '地球亚洲中国北京'} print(info['name']) print(in ...
- poi-对于word的操作(一)
2017-03-02 15:17:30 使用的jar包是poi 3.13 实现对word的存入,字体.颜色.大小的控制 测试类: package poi.test; public class Word ...
- 51Nod-1436 方程的解数
题目链接 题解链接 版权属于以上链接 #include <iostream> #define mod(a, m) ((a) % (m) + (m)) % (m) using namesp ...
- ssm框架结构的搭建
ssm框架结构的搭建
- Mac下使用Wine安装PowerDesigner15
下载: (链接: https://pan.baidu.com/s/1bpEYyIV 密码: 5ymj) 安装: 1.安装Wine 参考:http://www.cnblogs.com/EasonJim/ ...