`
Blackbaby
  • 浏览: 183888 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

javascript自定义事件

阅读更多
/**
 * 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自定义事件功能与用法实例分析.docx

    ### JavaScript自定义事件功能与用法实例分析 #### 概述 在JavaScript中,自定义事件(也称为自定义事件)是一种强大的工具,允许开发者在不同的模块或组件之间建立通信渠道。这种通信机制基于观察者模式,即一个...

    JavaScript自定义事件的创建与应用:深入指南

    本文将详细介绍如何在JavaScript中创建和使用自定义事件。 自定义事件是JavaScript中一个强大的功能,它允许开发者创建灵活且功能丰富的事件系统。通过本文的介绍,你应该对如何在JavaScript中创建和使用自定义事件...

    Javascript自定义事件详解

    Javascript自定义事件,其本质就是观察者模式(又称订阅/发布模式),它的好处就是将绑定事件和触发事件相互隔离开,并且可以动态的添加、删除事件。 下面通过实例,一步一步构建一个具体的Javascript自定义事件对象...

    javascript自定义事件功能与用法实例分析

    JavaScript自定义事件功能与用法,是Web开发中一项极为重要的技术,它涉及到JavaScript的事件驱动编程模式。在传统的事件编程中,通常使用浏览器提供的标准事件,例如鼠标点击、键盘输入、页面加载等。而自定义事件...

    javascript实现自定义事件

    javascript实现自定义事件,纯javascript不含vbscript。 通过自定义的HashMap.js和EventManager.js实现自定义事件的监听addEvent和发布fireEvent

    JavaScript 自定义事件之我见

    总结来说,JavaScript自定义事件是一种强大的工具,它扩展了浏览器原生事件的能力,使开发者能够更好地组织代码、实现模块化,并为插件提供可扩展性。通过自定义事件,我们可以精确地控制代码的执行时机,以应对复杂...

    超简单JavaScript自定义对象的自定义事件机制示例

    1、超简单JavaScript自定义对象的自定义事件机制示例。 2、带示例及详细注释,总共40行左右的代码。支持多播、任意多个参数。 3、不需要定义和引用其它任何东东。

    JavaScript自定义事件介绍

    随着web技术发展,使用JavaScript自定义对象愈发频繁,让自己创建的对象也有事件机制,通过事件对外通信,能够极大提高开发效率。 简单的事件需求 事件并不是可有可无,在某些需求下是必需的。以一个很简单的需求为...

    javascript 自定义事件初探

    自定义事件是JavaScript中事件机制的一个扩展,允许开发者为自己的对象或类定义特定的事件,从而增加了代码的灵活性和可扩展性。这使得对象能够通过触发自定义事件来通知其他部分的代码,而无需直接耦合。下面我们将...

    customevent:使用三个不同的侦听器执行基本购物篮功能的 JavaScript 自定义事件示例

    自定义事件使用三个不同的侦听器执行基本购物篮功能的 JavaScript 自定义事件示例。 包含三个示例侦听器,通过编辑 index.html 来调用它们以在您空闲时包含或排除以下脚本: &lt; script src =" basketLogger.js " &...

    javascript之自定义事件

    在JavaScript中,自定义事件是一种强大的机制,它允许开发者创建自己的事件类型,以便在不同的对象之间传递信息或协调状态更新。这种技术对于大型应用程序或游戏的模块化和解耦至关重要。在JavaScript中实现自定义...

    为jQuery添加自定义事件机制

    本文将深入探讨如何为jQuery添加自定义事件机制,这将帮助开发者扩展jQuery的功能,实现更加个性化的交互逻辑。 首先,我们要了解jQuery的事件系统是基于浏览器的事件模型构建的。默认情况下,jQuery提供了如click...

    FineReport中如何用JavaScript自定义地图标签

    总的来说,FineReport通过引入JavaScript自定义功能,极大地增强了其地图组件的灵活性和适用性。用户可以根据自身业务需求,编写复杂的逻辑来实现地图标签和提示点的个性化显示,从而提供更加丰富和精确的数据可视化...

    javascript自定义滚动条样式

    JavaScript 自定义滚动条样式是一种常见的前端技术,它允许开发者通过 CSS 和 JavaScript 对浏览器默认的滚动条进行美化和个性化,以提升用户体验和界面设计的一致性。在网页设计中,滚动条往往是不可忽视的一部分,...

    Javascript自定义日历控件

    JavaScript自定义日历控件是前端开发中常见的一种交互元素,它允许用户在网页上方便地选择日期。本文将深入探讨如何使用JavaScript实现一个自定义的日历控件,包括其核心概念、设计思路以及实现步骤。 一、核心概念...

    利用Javascript实现一套自定义事件机制

    本文将探讨如何利用JavaScript实现一套自定义事件机制。 首先,自定义事件应具备的基本功能包括: 1. **绑定事件**:将事件处理函数与特定事件类型关联。 2. **触发事件**:执行与事件相关联的所有处理函数。 3. *...

Global site tag (gtag.js) - Google Analytics