2012-10-01 3 views
0

컬렉션 이벤트를 사용자 지정 이벤트에 바인딩 할 수 있습니까? jQuery로 시도 : $(collectionInstance).on(eventsmap). 백본 컬렉션 jQuery를 사용한 사용자 지정 이벤트

그때 등록 이벤트를 확인하려고

:

console.log($.data(collectionInstance, 'events'));

는 내가 인스턴스에 바인딩 된 모든 사용자 정의 이벤트를 얻을.

그러나 $(collection).trigger('customevent');은이 사용자 초대를 실행하지 않으며 이벤트 처리기가 호출되지 않습니다.

Backbone.View을 사용해도 문제가없는 사용자 지정 이벤트를 트리거 할 수 있습니다. 왜 그런가요? 내가 놓친 게 있니?

+0

당신이 collectionInstance에 이벤트가 발생하지 것이 아니라 jQuery 오브젝트? 내가 잘못 본 것이 아니라면 그게 당신 문제 일 수 있습니다. 문제는 객체가 자신의 바운드 이벤트라는 것을 알고 있지만 jquery 객체처럼 어떤 종류의 객체 (백본 컬렉션)인지 전혀 알지 못합니다. – Mutmatt

+0

jQuery에서 컬렉션을 왜 포장하고 있습니까? 백본 컬렉션은 jQuery와 아무런 관련이 없습니다. –

+0

jQuery 이벤트 API를 사용하려면. – Memke

답변

1

백본 모음 정도로 모음 on, offtrigger 방법을 Backbone.Events에서 혼합 하였다. 당신은 jQuery를에 컬렉션을 래핑하는 것보다 그 방법을 대신 사용하려면 :

collectionInstance.on('event', callback, context); 
// One by one until you're done 

후 다른 곳에서 :

collection.trigger('customevent');