【问题标题】:Backbone: add event listener only if doesn't already existBackbone:仅在尚不存在时添加事件侦听器
【发布时间】:2013-01-17 11:15:59
【问题描述】:

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

我正在使用 Backbone.on(... 和 Backbone.trigger(... view" 为一个集合,所以我添加了很多监听器,所以我想首先检查该事件是否已经被监听。10x。

【问题讨论】:

    标签: backbone.js backbone-events


    【解决方案1】:

    Backbone.Events 对象有一个名为 _events 的事件字典

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

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

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

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      属性

      Object._callbacks

      匹配你的活动名称

      【讨论】:

        猜你喜欢
        • 2015-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-27
        • 2010-11-26
        • 2020-06-29
        • 1970-01-01
        相关资源
        最近更新 更多