listenTo从特定元素或视图触发的主干事件

时间:2016-04-29 20:06:57

标签: javascript events backbone.js

与骨干视图中的事件哈希一样,我们使用选择器指定事件, 例如: -

  events: {
    "click .icon":          "open",
    "click .button.edit":   "openEditDialog",
    "click .button.delete": "destroy"
  }

如何使用 listenTo

实现此目的
this.listenTo('Events','mouseenter .icon',callback)

PS :我有多个组件(如按钮,复选框),我有一个UI,允许将侦听器绑定到DOM中的那些组件(允许组件交互)。他们有click,mouseenter等默认的javascript事件处理和触发,如点击和双击这样的事情: -

Events.trigger('click',data); 

Events.trigger('dblClick',data);

但我想只将侦听器绑定到特定组件,禁止收件人监听所有现有dom组件的mouseenter,因为任何组件的mouseenter都会导致Events.trigger('mouseenter',data)。

1 个答案:

答案 0 :(得分:2)

我认为你在Backbone.Events的DOM事件之间混淆了 - 它们不一样。

事件哈希仅适用于Backbone.View,并引用可与视图中的事件处理程序方法绑定的DOM事件。

listenTo()是Backbone.Events中的一种方法,可以应用于Backbone.Events中混合的任何对象。 listenTo()方法中的第一个参数应该是Backbone.Events中混合的对象。