2012-01-27 6 views
0

jQuery에 의존하는 사이트 API 용 SDK를 개발 중이며 SDK 내에서 jQuery의 맞춤 이벤트 모델을 활용하고 싶습니다. 임의의 DOM 엘리먼트를 첨부하지 않고도 jQuery의 이벤트를 상속, 포장 또는 활용할 수있는 방법은 무엇입니까?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); 
}; 

당신이 소비하는 다른 사람을 위해 자바 스크립트를 작성하는 경우, 나는 또한 강력 iframe SRC-이하의 내부를 실행하여 프레임 워크를 샌드 박스 들여다 권하고 싶습니다. 각 버전 SDK에 자체 버전이있는 경우 더 좋습니다. iframe.

+0

저는 완벽하게 작동해야하는 창 개체를 사용하지 않는다고 생각하지 않습니다. 'iframe' 샌드 박스에 대해 더 많이 읽고 싶습니다. 그 주제에 대해 추천할만한 책이 있습니까? 나는 인터넷 검색을 한 적이 있지만 예제는 eval을 사용하여 코드를 삽입하는 데 집중하는 것처럼 보입니다. – Zikes

+1

Disqus의 개발자 중 한 명이 발표를했습니다. 슬라이드 데크가 있습니다. 많은 예제 코드를 배울 수 있습니다. http://www.slideshare.net/benvinegar/modern-iframe-programming-8281214 –