nodejs触发事件的两种方式
nodejs触发事件的两种方式:
方式之一:通过实例化events.EventEmitter
//引入events模块
var events = require('events');
//初始化events.EventeEmitter()对象
var eventEmitter = new events.EventEmitter();
//声明一个回调函数
function ring = function(){console.log("Ring,ring ,ring!!!!")}
//采用eventEmitter中的on方法绑定事件
eventEmitter.on('ring',ring);
//触发绑定所有绑定在on上的事件
eventEmitter.emit('ring');
方法之二:通过继承eventsEventEmitter原型来实现时间的绑定触发
var events = require('events');
var util = require('util');
function ring(){
events.EventEmitter.call(this);
this.open = function(){
console.log("ring inherits from events.EventEmitter");
this.emit('open');
}
}
util.inherits(ring,events.EventEmitter);
var ring_instance = new ring;
ring_instance.on('open',function(){console.log("Inherits events.EventEmitter and use on bind function")});
ring_instance.open();
需要说明的一点是在javascript 原型需要实例化之后才可以使用 也就是new prototype;
nodejs触发事件的两种方式的更多相关文章
- 当前触发事件的两种方式(onclick) 和 ('id') 获取
1. <input type='text' onclick = 'Clickon(this)'> <script> function Clickon(num){ num.sty ...
- 阻止事件冒泡两种方式:event.stopPropagation();和return false;
jQuery提供了两种方式来阻止事件冒泡. 方式一:event.stopPropagation(); $("#div1").mousedown(function (event) { ...
- Javascript绑定事件的两种方式的区别
命名函数 <input type="button" onclick="check()" id="btn"/> <scrip ...
- Nodejs 传图片的两种方式
node上传图片第一种方式 1,首先引入模块 "connect-multiparty": "~1.2.5", 在package.json中添加 "co ...
- Android实现双击事件的两种方式
Work around的方法是先监听onTouch事件来监听连续点击次数,每次点击都布置一个间隔时间的延时任务,延时任务执行时判断间隔内是否还有点击,如果没有则发布点击次数,重置计数. 实现代码如下: ...
- jquery阻止事件的两种实现方式
再阻止事件冒泡的方面,jquery有两种方式: 一种是 return false;另外一种是 e.stopPropagation() html代码 <form id="form1&qu ...
- JQuery中阻止事件冒泡的两种方式及其区别
JQuery 提供了两种方式来阻止事件冒泡. 方式一:event.stopPropagation(); $("#div1").mousedown(function(event){ ...
- JQuery 提供了两种方式来阻止事件冒泡。
JQuery 提供了两种方式来阻止事件冒泡. 方式一:event.stopPropagation(); $("#div1").mousedown(function(event){ ...
- Linux 安装 Nodejs 的两种方式
Linux 安装 Nodejs 的两种方式 目录 Linux 安装 Nodejs 的两种方式 一.压缩包安装 Nodejs 二.源码编译安装 Nodejs 一.压缩包安装 Nodejs 下载 Node ...
随机推荐
- Java基础知识强化之多线程笔记01:多线程基础知识(详见Android(java)笔记61~76)
1. 基础知识: Android(java)学习笔记61:多线程程序的引入 ~ Android(java)学习笔记76:多线程-定时器概述和使用
- Extending Robolectric
Robolectric is a work in progress, and we welcome contributions from the community. We encourage dev ...
- PHP编译错误Don't know how to define struct flock on this system, set --enable-opcache=no
编辑 /etc/ld.so.conf 加入 /usr/local/lib 再执行 ldconfig
- Axiom3D学习日记 5.Frame Listeners, and Input Handling
Frame Listeners In Ogre's C++, we would register a class to receive notification before and after a ...
- retain two decimal digits.
package kju.o; import static kju.print.Printer.*; import java.text.*; class MathDemo { public static ...
- Express在windows IIS上部署详解
最近公司在用Express+angularjs+wcf开发系统,让我在windows上部署系统,遇到不少问题,不过最后还是解决了,在IIS上部署系统, 首先windows需安装以下软件: 1.node ...
- 查看sql语句执行时间/测试sql语句性能
写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了. 通过设置STATISTICS我们可以查看执行SQL时的 ...
- 安装freebsd9 出现 mountroot>怎么办
之前手欠把linux分区给删了想重装freebsd 重新进入的时候mbr提示grub信息 用PE把MBR删掉 之后再用freebsd光盘启动出现mountroot> 就用mountroot> ...
- Oracle数据库之PL/SQL触发器
Oracle数据库之PL/SQL触发器 1. 介绍 触发器(trigger)是数据库提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是 ...
- mvc的真实含义
MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用 MVC应用程序被分成三个核心部件:模型(M).视图(V).控制器(C),它们各自处理自己的任务. 视图 : 视图是用户看到并与之 ...