2012-10-01 44 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');