javascript 懒惰的事件实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 懒惰的事件实现相关的知识,希望对你有一定的参考价值。

/* eventmodule */

/* Events */

var Events = {
  on: function(events, callback) {
    if(!this._observer) {
      this._observer = $({});
    }
    this._observer.bind(events, callback);
    return this;
  },
  trigger: function(events, params) {
    if(!this._observer) {
      return this;
    }
    this._observer.trigger(events, params);
    return this;
  }
};

/* impl */

var ConcreteCls = function(){
  // constructor I am.
};
ConcreteCls.prototype.on = Events.on;
ConcreteCls.prototype.trigger = Events.trigger;

/* do it */

var instance = new ConcreteCls;
instance.on('foo', function(e, params){ alert(params.val); });
instance.trigger('foo', { val: 'yes!' }); // yes!

以上是关于javascript 懒惰的事件实现的主要内容,如果未能解决你的问题,请参考以下文章

javascript 懒惰负载和多服务

懒惰的 UIPickerView - (它不会移动两次)

详解javascript实现自定义事件

JavaScript事件详解-zepto的事件实现

用 JavaScript 实现手势库 — 事件派发与 Flick 事件前端组件化

用 JavaScript 实现手势库 — 事件派发与 Flick 事件前端组件化