JQuery 中的事件命名空间
2015-12-28 16:56
459 查看
今天在看jQuery基础教程时看到了jQuery中的事件命名空间,在js中我没有看到过类似的定义,于是去搜索了一下相关的内容,以下为自己的理解,不当之处还望指出。
所谓事件命名空间,简单来说就是事件类型后面用点语法附加一个别名,以便引用事件,比如:’on(‘click.demo’,function(){})’,其中demo就相当于一个事件命名空间,我们可以给相同的事件添加不同的事件命名空间,比如
以上代码意思是为类名是’.hello’的jQuery对象添加两个名字分别为hello1,hello2的点击事件,两个事件按照定义的顺序依次执行。
很多时候,我们需要移出一个对象上的部分事件,这时事件命名空间就体现了他的强大之处,例子:
当点击了类名为welcome的元素后,调用移除事件函数off(),此时若再点击类名为‘hello’的元素,就只会弹出hello2的对话框,hello1 的对话框将不会弹出,因为名为hello1的点击事件已经被移出。
也可以用在批量删除绑定了相同事件名的事件,比如
以上代码表示删除类名为.hello的元素上所有名为demo的事件,其他事件不受影响。
再比如
此时会删除所有绑定在类名为.hello的元素上名字为demo的点击事件(必须同时满足),其他名字或者其他类型的事件均不受影响。
另外,事件命名空间只能用在on()函数,off()函数或bind(),unbind()中,不能用在事件简单绑定函数中。
所谓事件命名空间,简单来说就是事件类型后面用点语法附加一个别名,以便引用事件,比如:’on(‘click.demo’,function(){})’,其中demo就相当于一个事件命名空间,我们可以给相同的事件添加不同的事件命名空间,比如
$('.hello').on('click.hello1',function(){alert('hello1')}); $('.hello').on('click.hello2',function(){alert('hello2')});
以上代码意思是为类名是’.hello’的jQuery对象添加两个名字分别为hello1,hello2的点击事件,两个事件按照定义的顺序依次执行。
很多时候,我们需要移出一个对象上的部分事件,这时事件命名空间就体现了他的强大之处,例子:
$('.welcome').click(function(){ $('.hello').off('click.hello1'); });
当点击了类名为welcome的元素后,调用移除事件函数off(),此时若再点击类名为‘hello’的元素,就只会弹出hello2的对话框,hello1 的对话框将不会弹出,因为名为hello1的点击事件已经被移出。
也可以用在批量删除绑定了相同事件名的事件,比如
$('.hello').on('clcik.demo',show); $('.hello').on('mouseover.demo',show1); $('.hello').on('click.demo1'.show2); $('.hello').on('click',function(){alert('hello111111')}); $('.welcome').click(function(){ $('.hello').off('.demo'); });
以上代码表示删除类名为.hello的元素上所有名为demo的事件,其他事件不受影响。
再比如
$('.hello').on('clcik.demo',show); $('.hello').on('mouseover.demo',show1); $('.hello').on('click.demo1'.show2); $('.hello').on('clcik.demo',show3); $('.hello').on('click',function(){alert('hello111111')}); $('.welcome').click(function(){ $('.hello').off('click.demo'); });
此时会删除所有绑定在类名为.hello的元素上名字为demo的点击事件(必须同时满足),其他名字或者其他类型的事件均不受影响。
另外,事件命名空间只能用在on()函数,off()函数或bind(),unbind()中,不能用在事件简单绑定函数中。
相关文章推荐
- jquery图片轮播效果代码
- 58种jQuery模拟CSS3过渡页面切换特效
- 使用jquery.cookie.js插件实现记住密码功能
- 导入jquery等标签库引发的无法使用问题
- 读jQuery之二十(Deferred对象)--(转)
- JQUERY dialog的用法详细解析
- Jquery_artDialog对话框弹出
- jquery垂直展开折叠手风琴二级菜单
- jquery实现导航栏鼠标点击后实行背景高亮,点击离开恢复(超级简单!!!!),jquery导航栏
- jquery实现“更多”链接
- jsp中找不到jquery.js文件解决办法
- Ajax直接调用WebService
- 基于jQuery实现选取月份插件附源码下载
- JQuery判断密码中是否有空格
- 使用jquery获取父元素或父节点的方法
- jquery 验证密码强度
- Asp.net jquery在UpdatePanel中失…
- jquery easyui 文档及demo
- jquery $(this).attr $(this).val方法使用介绍--useful
- jquery 检测某元素是否含有某属性