`

jquery事件命名空间

 
阅读更多

JQUERY事件命名空间

  

event.namespace

今天这篇文章是关于jQuery事件命名空间,事件命名空间在一些MVC类的框架中也是有所体现的。jQuery在1.2版本之后就加了这个Namespaced event特性(event.namespace在1.4.3),但是在日常开发中,我们又有多少人去使用它呢?使用它有什么好处呢?

第一个问题,我想如果比较少人去使用这个namespace是因为大家都没有看好API,导致许多功能并不知道。其次就是在小型站点开发,这个namespace显得有点多余,谁吃饱没事做写一个要命名一个。那么就间接回答了它的好处,在大型的开发中,命名空间的好处是很多的。比如,你解除绑定的时候。你再也不会没有目标了。因为我也是刚发现的,所以还是看看例子吧。

它出现的原因

$(‘.class’).bind(‘click’, function(){});

*jQuery1.7后,所以有事件建议使用on()来绑定,而不使用bind()了,这样做的目的是为了统一。而解绑就自然是Off(),unbind()相应地也不使用。
当你看源码的时候,可以发现,所有事件都是指回到on()这个方法,也就是所有的事件都可以用on来绑定。

当你想解绑一个特定的click事件,你就遇到麻烦了。因为unbind会解绑所有的click事件。

$(‘.class’).unbind(‘click’);

当然还有一种方法,那就是创建一个引用函数。

function handler() { … }
$(‘.class’).bind(‘click’, handler);
$(‘.class’).unbind(‘click’, handler);

但是,这不够灵活。

解决方法

$(‘.class’).bind(‘click.namespace’, function(){});
$(‘.class’).trigger(‘click.namespace’); // Will trigger
$(‘.class’).trigger(‘click’); // Will trigger
$(‘.class’).trigger(‘click.other’); // Won’t trigger

分享到:
评论

相关推荐

    jquery利用命名空间移除绑定事件的方法

    主要介绍了jquery利用命名空间移除绑定事件的方法,实例分析了jQuery命名空间及事件绑定的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    jQuery中绑定事件的命名空间详解

    在没有看到这篇 文章之前,我一直不知道原来bind也可以有命名空间。事实上,我看完这篇文章后,再去翻了一下手册,也才发现了一点点的注释。但手册也仅仅是一句话就带 过去了。没有过多的深究,或许他认为命名空间这...

    jquery解析带名称空间的xml

    jquery.xmlns-1.7.0.js 是根据jquery.xmlns.js改写的适用于各种版本的jquery解析带命名空间的XML数据,里面附有实例代码,如果使用中有遇到问题,可以反馈,我会进一步改进。

    jquery自定义插件命名空间问题

    NULL 博文链接:https://i5land.iteye.com/blog/350151

    jQuery 事件的命名空间简单了解

    用 jQuery 绑定和解绑事件监听器都是非常简单的,怎样精确地解绑其中一个监听器?我们需要了解一下事件的命名空间,感兴趣的朋友不要错过

    jquery命名空间模拟

    GLOBAL 文件 博文链接:https://xujunxiong.iteye.com/blog/1860329

    一篇一万字的jQuery事件知识总结

    文章目录事件绑定事件解绑事件冒泡什么是事件冒泡如何阻止事件冒泡默认行为什么是默认行为如何阻止默认行为jQuery事件自动触发jQuery自定义事件什么是自定义事件自定义事件满足的条件jQuery的事件命名空间什么是事件...

    jQuery命名空间与闭包用法示例

    本文实例讲述了jQuery命名空间与闭包用法。分享给大家供大家参考,具体如下: /* * 服务公司用户汇总,审核 */ (function() { "use strict"; var companyList=new Object();//声明命名空间 //时间戳格式化为...

    jQuery事件用法实例汇总

    本文以实例形式详细汇总了jQuery中事件的用法,对jQuery的学习有很好的参考价值。分享给大家供大家参考之用。...为什么需要事件命名空间? →假设,先给li元素绑定2个click事件。 $('li') .bind('c

    一步一步教你写一个jQuery的插件教程(Plugin)

    明确jQuery的命名空间只有一个。2. 明白options参数用来控制plugin的行为。3. 为默认的plugin设定提供公共的访问权限。4. 为子函数提供公共的访问权限。5. 私有的函数绝对是私有访问6. 支持metadata plugin。...

    jQuery1.8.0 API 中文版

    events:一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" 。 selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的或省略,当它到达选定的元素,事件总是...

    jquery_dialog.rar

    本次更新将代码完全基于了JQuery框架,并应用了命名空间,让JS看起来有那么一点OO的感觉,同时修改了客户端的ID,加上jd_前缀以避免冲突,修改了拖拽的核心函数,支持了多浏览器。最后在DEMO中添加了客户端与服务端...

    jquery插件使用方法大全

    这一版能够支持对效果的更灵活定制,而且借助新增的命名空间事件,也使插件开发变得更容易。 jQuery UI(2007年9月):这个新的插件套件是作为曾经流行但已过时的Interface插件的替代项目而发布的。jQuery UI中包含...

    z-namespacer:命名空间事件字符串。 (适用于 jQuery。)

    命名空间创建命名空间事件字符串。 期望返回的命名空间事件字符串与一起使用。 因为它是一个 CommonJS 模块,所以它必须与或类似的东西一起使用,比如 。 例子、说明 var Namespacer = require ( 'z-namespacer'...

    读jQuery之十三 添加事件和删除事件的核心方法

    暂不包含 1, 事件命名空间(event namespace) 2, 事件代理(event delegation) 3, 特殊事件如dom ready 接口如下: 代码如下: E.bind(el, ‘click’, fn); E.bind(el, ‘click’, fn, data); E.unbind(el, ‘click...

    jquery.logger:一个简单但功能强大的带有命名空间的 jQuery 日志插件

    一个简单但功能强大的带有命名空间的 jQuery 日志插件。 例子 创建一个(全局)记录器并记录一些东西: var logger = $ . Logger ( ) ; /** * simply log something */ logger . debug ( "my first log" ) ; //...

    jQuery插件库

    jQuery插件开发全解析 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,...jQuery 的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。

Global site tag (gtag.js) - Google Analytics