5

换句话说:我如何找到已经被收听的事件列表?

我正在使用 Backbone.on(... 和 Backbone.trigger(... 在两个彼此不了解的视图之间进行通信。但是,添加侦听器的视图实际上是一个集合,因此我添加了许多侦听器,因此我想首先检查该事件是否已被侦听。10x。

4

2 回答 2

10

Backbone.Events对象有一个事件字典,称为_events

因此,要检查是否已经在监听某个事件,您可以例如在相关视图中实现一个函数:

isEventListenedTo: function(eventName) {
  return (view._events) ? !!view._events[eventName] : false;
}

_events-dictionary 包含每个事件名称的数组,因此您还可以检查事件被监听的次数等。

希望这可以帮助!

于 2013-01-17T11:57:30.433 回答
0

的属性

Object._callbacks

匹配您的活动名称

于 2013-01-17T14:00:09.023 回答