Backbone.js事件和集合 - 每个项目一个视图

时间:2012-03-31 11:30:25

标签: backbone.js

我有一个项目集合。每个项目都有自己的视图,在渲染时,会创建一个包含<div>元素的<a href>。视图中的每个项目本身都可以是一个集合。视图定义了一个事件,例如:

events: {"click div. a": "foo"},

使用单个Item渲染Collection的结果HTML本身就是一个包含三个项目的集合:

<div><a href>One</a>
  <div><a href>Two</a></div>
  <div><a href>Three</a></div>
  <div><a href>Four</a></div>
</div>

单击<a href>One</a>工作正常,触发单个事件,我可以在视图中访问模型。但是:

  • 点击<a href>Two</a>会导致触发事件 二,三,四和一。
  • 点击<a href>Four</a>会导致触发事件 二,三,四和一
  • 点击<a href>Three</a>会导致事件被触发为
    二,三,四和一

点击嵌套<a href>元素的常规模式将为所有兄弟 <a href>元素调用事件处理程序。

1 个答案:

答案 0 :(得分:0)

您可能只需要更改活动注册:

events: {"click div > a": "foo"}