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中,事件命名空间为事件处理提供了一种方式,允许开发者在同一个元素上绑定多个事件监听器,而不必担心将来无法单独解绑这些监听器。这个机制是通过给事件类型添加一个命名...
在JavaScript编程中,全局变量和函数常常会导致命名冲突,特别是在...对于`registNamespase.js`的具体内容,需要实际查看代码才能提供详细的解析和示例,但上述信息应该为你提供了理解和使用jQuery命名空间的基本框架。
在jQuery中,命名空间可以被视为事件类型后的附加标识符,它将事件绑定限定在特定的范围内。例如,使用`.bind("click.plugin", function() {...})`的方式可以创建一个名为"plugin"的命名空间,并将点击事件绑定在这...
本文将深入探讨“jQuery自定义插件命名空间问题”,这涉及到如何优雅地组织和管理自定义的jQuery扩展,以避免冲突并保持代码的可维护性。 首先,了解jQuery插件的基本结构至关重要。一个简单的jQuery插件通常会定义...
在没有看到这篇 文章之前,我一直不知道原来bind也可以有命名空间。事实上,我看完这篇文章后,再去翻了一下手册,也才发现了一点点的注释。但手册也仅仅是一句话就带 过去了。没有过多的深究,或许他认为命名空间这...
jquery.xmlns-1.7.0.js 是根据jquery.xmlns.js改写的适用于各种版本的jquery解析带命名空间的XML数据,里面附有实例代码,如果使用中有遇到问题,可以反馈,我会进一步改进。
同时,`delegate`支持多个事件类型和命名空间。 ```javascript $('#container').delegate('a', 'click', function() { alert("That tickles!"); }); ``` ### `live`, `delegate`和`bind`的联系 这三种方法都用于...
文章目录事件绑定事件解绑事件冒泡什么是事件冒泡如何阻止事件冒泡默认行为什么是默认行为如何阻止默认行为jQuery事件自动触发jQuery自定义事件什么是自定义事件自定义事件满足的条件jQuery的事件命名空间什么是事件...
在示例中,`bind()`方法被用来为div元素绑定两个点击事件:一个是无命名空间的click事件,另一个是带有.plugin命名空间的click事件。 `trigger()`方法用于触发元素上的事件。在示例中,当按钮被点击时,div元素上的...
为了更好地组织和管理事件处理函数,jQuery 引入了命名空间的概念。事件类型可以附加一个点号(`.`)后跟一个字符串来表示命名空间,例如: ```javascript $(selector).bind('click.myCustomRoutine', function() {...
总结来说,jQuery中的命名空间和闭包是JavaScript语言特性在实际应用中的体现。命名空间通过对象来组织相关功能,避免了变量冲突;而闭包则提供了一种控制作用域和数据访问的有效手段,保证了代码的独立性和安全性。...
在本文中,我们将深入理解jQuery的事件处理机制,包括事件绑定、命名空间的使用、事件对象的属性、事件处理器的触发与解除,以及相关的方法。 首先,jQuery的事件处理机制是基于浏览器的DOM事件模型。DOM的事件模型...
总的来说,这份文档涵盖了jQuery事件处理机制的多个方面,包括事件绑定、命名空间的使用、事件种类的理解、创建和触发自定义事件的方法,以及如何通过事件对象获取附加信息。对于希望深入学习jQuery事件处理的开发者...
这个版本还引入了新的API,如`.on()`方法的命名空间支持,增强了事件处理能力。 3. **jQuery 1.4.4**: 这个较早的版本引入了$.proxy()函数,用于绑定函数上下文,以及$.trim()用于字符串的修剪,增强了DOM操作和...
- `namespace`: 命名空间,用于组织相关的事件。 - `timestamp`: 事件发生的时间戳,表示从1970年1月1日到当前时间的毫秒数。 - `preventDefault()`: 阻止事件的默认行为。 - `stopPropagation()`: 阻止事件冒泡。 ...