2012-02-02 3 views
0

jquery에 익숙하지 않은만큼 내 용서를 용서하십시오. dojo.subscribe()와 동일한 기능이 있습니까?jquery에는 dojo.subscribe()와 동일한 기능이 있습니까?

jquery에서 해결책을 알고 있습니까? jquery.connect가 있지만이 플러그인은 내 테스트에서 작동하지 않습니다.

+1

는 이것이 할 구독 않는 수를 포함? – gdoron

+1

그것에 대해 뭔가 발견 : http://livedocs.dojotoolkit.org/dojo/subscribe – j08691

+0

나는 스프링 - js와 JQuery와의 플러그인 작업을하고있다. Spring-js는 Dojo를 사용하여 모든 Ajax 통신을 해결하므로 Spring-Dojo.js를 Spring-Jquery.js로 변환하려고합니다. 여기 JS 파일이 있습니다. http://www.koders.com/javascript/fid2238090329B931C75C62EA4108142E5019C4D837. aspx? s = 창 # L261. 현재 dojo.subscribe (this.elementId + "/ validation", this, "_handleValidation")를 어떻게 변환할지 모르겠다. 143 라인에 – masch

답변

1

j08691's link : bindtrigger에 가입하는 설명에서 가장 잘 맞는 것 같습니다. 이것들을 사용하면 DOM 노드에서 임의로 명명 된 이벤트를 정의한 다음 나중에 인수로 호출 할 수 있습니다.

dojo.subscribe가이 문서를 전역 적으로 처리하는 것처럼 들립니다. 당신은 아마도 문서 객체 자체에 이벤트를 바인딩함으로써 동일하게 성취 할 수있을 것입니다. 그러나 여러분이하는 일이 무엇이든간에 여러분의 페이지에있는 DOM 노드에 이벤트를 바인드하는 것이 합리적이라고 생각합니다.

귀하의 예제 스크립트는

this.validationSubscription 
    = dojo.subscribe(this.elementId+"/validation", this, "_handleValidation"); 

대신

var _this = this; 
$(element).bind("validation", 
    function(event, flag) { _this._handleValidation(flag)); } 
    ); 

하고 나중에

$(element).trigger("validation", false); 
+0

고마워! 하지만 다시 미안하다. 어떻게 다음 줄로 바꿀 수 있니? this.connection = dojo.connect (엘리먼트, this.event, this, "submit"); – masch

+0

OK, do do do connect do do do not connect [do this from this] (http://dojotoolkit.org/reference-guide/dojo/connect.html) DOM 노드의 이벤트에 바인딩 기능이 있습니까? 이 경우 바인드를 다시 사용하거나 [제출] (http://api.jquery.com/submit/)과 같은 특정 바인더 헬퍼 중 하나를 사용하십시오. 실행하려는 이벤트의 이름과 함수를 전달하십시오. jQuery는 전달 된 이벤트 중 하나가 전달을 중지하도록 신호를 보내거나 전달을 중지하고 (기본 이벤트 동작을 사용 불가능하게하는)'return false;가 아닌 한 모든 바인딩 된 이벤트를 차례대로 트리거합니다. – Rup

관련 문제