var Users = {
list: [],
listeners: {},
add: function(name) {
this.list.push({name: name});
this.dispatch("user-added");
},
on: function(eventName, listener) {
if(!this.listeners[eventName]) this.listeners[eventName] = [];
this.listeners[eventName].push(listener);
},
dispatch: function(eventName) {
if(this.listeners[eventName]) {
for(var i=0; i<this.listeners[eventName].length; i++) {
this.listeners[eventName][i](this);
}
}
},
numOfAddedUsers: function() {
return this.list.length;
}
} Users.on("user-added", function(obj) {
alert(Users.numOfAddedUsers());
console.log("obj:",obj);
}); Users.add("Krasimir");
Users.add("Tsonev");

Referring to http://jsfiddle.net/krasimir/sHNKD/3/

最新文章

  1. instanceof运算符
  2. const ,static,inline
  3. C#获取url中参数键值对的方法
  4. jqery validate、validate自定义验证方法 + jaery form Demo
  5. vim退出
  6. MSDN知识库_c#关键字_static
  7. POJ1149 PIGS
  8. JAVA时间日期处理类,主要用来遍历两个日期之间的每一天。
  9. 如何让asp.net mvc 直接运行mobile页面
  10. TPersistent的三个用途(读写DFM文件,Assign,RTTI),最主要还是第三个用途
  11. Makedown
  12. C++: cin
  13. 简单css实现input提示交互动画效果
  14. Java构造器的调用顺序
  15. Arpa’s obvious problem and Mehrdad’s terrible solution 思维
  16. KbmMW 认证管理器说明(转载)
  17. centos7 PDI(Kettle)安装
  18. Python WebDriver 文件上传(一)
  19. C++ primer第三章作业
  20. linux中使用wget设置参数防止中文乱码问题

热门文章

  1. Java8 新的日期和时间API(笔记)
  2. Bat 替换文件中的字符串
  3. js 根据身份证获取出生日期及性别
  4. SurfaceView的经典写法
  5. iOS即时通讯输入框随字数自适应高度
  6. ibatis中&lt;![CDATA[使用解释
  7. 关于struts、spring 和 hibernate的说明
  8. Scrapy:虎牙爬取,图片存储与数据分析
  9. linux 自启动
  10. vue 销毁组件