继承jQuery的事件模型

时间:2012-01-27 20:37:56

标签: javascript jquery

我正在开发一个依赖于jQuery的站点API的SDK,我想在SDK中使用jQuery的自定义事件模型。我怎样才能最好地继承,包装或以其他方式利用jQuery的事件而不需要任意DOM元素将它们附加到?

目前的基本结构如下:

;(function($, global, undefined){

  function MySDK(opts){

  }

  MySDK.prototype.on = function(evt, fn){};
  MySDK.prototype.trigger = function(evt, data){};

  if(global.MySDK){
    throw new Error("MySDK has already been defined");
  }else{
    global.MySDK = MySDK;
  }
})(jQuery, typeof window === "undefined" ? this : window);

1 个答案:

答案 0 :(得分:1)

您可以将事件和侦听器附加到window对象。

示例:

MySDK.prototype.trigger = function(evt, data) {
    $(window).trigger(evt, data);
};

如果您正在为其他人编写javascript以供使用,我还强烈建议您通过在src-less iframe内部运行来查看框架沙箱。如果每个版本的SDK都有自己的iframe,那就更好了。