2012-03-31 2 views
0

У меня есть коллекция предметов. Каждый элемент имеет свой собственный вид и при визуализации создает <div>, содержащий элемент <a href>. Каждый элемент в представлении сам может быть коллекцией. View определяет событие, например:Backbone.js События и коллекции - один Вид за элемент

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

в результате 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> вызовет обработчик события для всех sibling и parent<a href> элементов.

ответ

0

Вы, вероятно, просто нужно изменить регистрации событий:

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

Как зарегистрироваться на событие для конкретного View, например, когда они генерируются из того же класса View «»? – Jack