我正在开发一个依赖于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);
答案 0 :(得分:1)
您可以将事件和侦听器附加到window
对象。
示例:
MySDK.prototype.trigger = function(evt, data) {
$(window).trigger(evt, data);
};
如果您正在为其他人编写javascript以供使用,我还强烈建议您通过在src-less iframe
内部运行来查看框架沙箱。如果每个版本的SDK都有自己的iframe
,那就更好了。