Javascript 继承jQuery';s事件模型
我正在为依赖jQuery的站点API开发一个SDK,我希望在SDK中利用jQuery的定制事件模型。我如何才能最好地继承、包装或以其他方式利用jQuery的事件,而不需要将它们附加到任意DOM元素 目前的基本结构如下:Javascript 继承jQuery';s事件模型,javascript,jquery,Javascript,Jquery,我正在为依赖jQuery的站点API开发一个SDK,我希望在SDK中利用jQuery的定制事件模型。我如何才能最好地继承、包装或以其他方式利用jQuery的事件,而不需要将它们附加到任意DOM元素 目前的基本结构如下: ;(function($, global, undefined){ function MySDK(opts){ } MySDK.prototype.on = function(evt, fn){}; MySDK.prototype.trigger = fun
;(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);
您可以将事件和侦听器附加到
窗口
对象
例如:
MySDK.prototype.trigger = function(evt, data) {
$(window).trigger(evt, data);
};
如果您正在编写javascript供其他人使用,我还强烈建议您通过在src-less
iframe
中运行框架来研究沙箱。如果每个版本的SDK都有自己的iframe
那就更好了。我简直不敢相信我没有想到使用window对象,它应该可以完美地工作。我想读更多关于iframe
sandboxing的内容,你有关于这个主题的推荐读物吗?我在谷歌上搜索过一些,但这些例子似乎集中在使用eval来注入代码上,这似乎有点黑客味。这是滑梯台。有很多示例代码可供学习。