2012-01-27 3 views
0

jQueryに依存するサイトAPIのSDKを開発しています.jQueryのカスタムイベントモデルをSDK内で利用したいと思います。 jQueryのイベントを継承したり、ラップしたり、他の方法で利用したりするには、任意のDOM要素をそれらに関連付ける必要なく、どうすればよいですか?jQueryのイベントモデルを継承する

現在の基本的な構造は以下の通りである:

;(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

あなたはwindowオブジェクトにイベントとリスナーを添付することができます。

例:

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

あなたが消費する他の人のためにJavaScriptを書いている場合は、私は強くあなたがiframe SRCレスの内部でそれを実行して、フレームワークをサンドボックスに見てお勧めします。各バージョンのSDKに独自のものがある場合は、すべてiframeの方が優れています。

+0

私はウィンドウオブジェクトを使用するとは思わなかった、それは完全に動作するはずです。私は 'iframe'サンドボックスについてもっと読んでみたいと思います。私はいくつかのグーグルでやっているが、例はevalを使ってコードを注入することに焦点を当てているようだ。 – Zikes

+1

Disqusの開発者の一人がプレゼンテーションを行った。ここにスライドデッキがあります。多くのサンプルコードから学ぶことができます。 http://www.slideshare.net/benvinegar/modern-iframe-programming-8281214 –

関連する問題