2012-10-01 48 views
0

可以將集合實例綁定到自定義事件嗎?我試着用jQuery:$(collectionInstance).on(eventsmap)骨幹集合使用jQuery自定義事件

當我再嘗試檢查註冊的事件:

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

我得到我綁定到一個實例的所有自定義事件。

$(collection).trigger('customevent');不會觸發此customevent並且不會調用事件處理程序。

當我嘗試與Backbone.View相同時,我可以觸發無任何問題的自定義事件。爲什麼是這樣?我錯過了什麼嗎?

+0

你不會開槍的collectionInstance的事件,而不是jQuery對象?如果我沒有弄錯,那可能是你的問題。問題是你的對象知道它是自己綁定的事件,但它作爲一個jquery對象,不知道它是什麼類型的對象(骨幹集合)。 – Mutmatt

+0

你爲什麼在jQuery中包裝集合?骨幹集合與jQuery無關 –

+0

利用jQuery事件api。 – Memke

回答

1

骨幹集合有Backbone.Events混合,因此集合有on,offtrigger方法。要使用這些方法,而不是試圖包裝集合中的jQuery:

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

,然後在別處:

collection.trigger('customevent');