/**
* MicroEvent - to make any js object an event emitter (server or browser)
*
* - pure javascript - server compatible, browser compatible
* - dont rely on the browser doms
* - super simple - you get it immediatly, no mistery, no magic involved
*
* - create a MicroEventDebug with goodies to debug
* - make it safer to use
*/
var MicroEvent = function(){}
MicroEvent.prototype = {
bind : function(event, fct){
this._events = this._events || {};
this._events[event] = this._events[event] || [];
this._events[event].push(fct);
},
unbind : function(event, fct){
this._events = this._events || {};
if( event in this._events === false ) return;
this._events[event].splice(this._events[event].indexOf(fct), 1);
},
trigger : function(event /* , args... */){
this._events = this._events || {};
if( event in this._events === false ) return;
for(var i = 0; i < this._events[event].length; i++){
this._events[event][i].apply(this, Array.prototype.slice.call(arguments, 1))
}
}
};
/**
* mixin will delegate all MicroEvent.js function in the destination object
*
* - require('MicroEvent').mixin(Foobar) will make Foobar able to use MicroEvent
*
* @param {Object} the object which will support MicroEvent
*/
MicroEvent.mixin = function(destObject){
var props = ['bind', 'unbind', 'trigger'];
for(var i = 0; i < props.length; i ++){
destObject.prototype[props[i]] = MicroEvent.prototype[props[i]];
}
}
// export in common js
if( typeof module !== "undefined" && ('exports' in module)){
module.exports = MicroEvent
}
分享到:
相关推荐
### JavaScript自定义事件功能与用法实例分析 #### 概述 在JavaScript中,自定义事件(也称为自定义事件)是一种强大的工具,允许开发者在不同的模块或组件之间建立通信渠道。这种通信机制基于观察者模式,即一个...
本文将详细介绍如何在JavaScript中创建和使用自定义事件。 自定义事件是JavaScript中一个强大的功能,它允许开发者创建灵活且功能丰富的事件系统。通过本文的介绍,你应该对如何在JavaScript中创建和使用自定义事件...
Javascript自定义事件,其本质就是观察者模式(又称订阅/发布模式),它的好处就是将绑定事件和触发事件相互隔离开,并且可以动态的添加、删除事件。 下面通过实例,一步一步构建一个具体的Javascript自定义事件对象...
JavaScript自定义事件功能与用法,是Web开发中一项极为重要的技术,它涉及到JavaScript的事件驱动编程模式。在传统的事件编程中,通常使用浏览器提供的标准事件,例如鼠标点击、键盘输入、页面加载等。而自定义事件...
javascript实现自定义事件,纯javascript不含vbscript。 通过自定义的HashMap.js和EventManager.js实现自定义事件的监听addEvent和发布fireEvent
总结来说,JavaScript自定义事件是一种强大的工具,它扩展了浏览器原生事件的能力,使开发者能够更好地组织代码、实现模块化,并为插件提供可扩展性。通过自定义事件,我们可以精确地控制代码的执行时机,以应对复杂...
1、超简单JavaScript自定义对象的自定义事件机制示例。 2、带示例及详细注释,总共40行左右的代码。支持多播、任意多个参数。 3、不需要定义和引用其它任何东东。
随着web技术发展,使用JavaScript自定义对象愈发频繁,让自己创建的对象也有事件机制,通过事件对外通信,能够极大提高开发效率。 简单的事件需求 事件并不是可有可无,在某些需求下是必需的。以一个很简单的需求为...
自定义事件是JavaScript中事件机制的一个扩展,允许开发者为自己的对象或类定义特定的事件,从而增加了代码的灵活性和可扩展性。这使得对象能够通过触发自定义事件来通知其他部分的代码,而无需直接耦合。下面我们将...
自定义事件使用三个不同的侦听器执行基本购物篮功能的 JavaScript 自定义事件示例。 包含三个示例侦听器,通过编辑 index.html 来调用它们以在您空闲时包含或排除以下脚本: < script src =" basketLogger.js " &...
在JavaScript中,自定义事件是一种强大的机制,它允许开发者创建自己的事件类型,以便在不同的对象之间传递信息或协调状态更新。这种技术对于大型应用程序或游戏的模块化和解耦至关重要。在JavaScript中实现自定义...
本文将深入探讨如何为jQuery添加自定义事件机制,这将帮助开发者扩展jQuery的功能,实现更加个性化的交互逻辑。 首先,我们要了解jQuery的事件系统是基于浏览器的事件模型构建的。默认情况下,jQuery提供了如click...
总的来说,FineReport通过引入JavaScript自定义功能,极大地增强了其地图组件的灵活性和适用性。用户可以根据自身业务需求,编写复杂的逻辑来实现地图标签和提示点的个性化显示,从而提供更加丰富和精确的数据可视化...
JavaScript 自定义滚动条样式是一种常见的前端技术,它允许开发者通过 CSS 和 JavaScript 对浏览器默认的滚动条进行美化和个性化,以提升用户体验和界面设计的一致性。在网页设计中,滚动条往往是不可忽视的一部分,...
JavaScript自定义日历控件是前端开发中常见的一种交互元素,它允许用户在网页上方便地选择日期。本文将深入探讨如何使用JavaScript实现一个自定义的日历控件,包括其核心概念、设计思路以及实现步骤。 一、核心概念...
本文将探讨如何利用JavaScript实现一套自定义事件机制。 首先,自定义事件应具备的基本功能包括: 1. **绑定事件**:将事件处理函数与特定事件类型关联。 2. **触发事件**:执行与事件相关联的所有处理函数。 3. *...