2012-03-31 9 views
0

Ich habe eine Sammlung von Artikeln. Jedes Element hat seine eigene Ansicht und erzeugt beim Rendern eine <div>, die ein <a href> Element enthält. Jedes Objekt in einer Ansicht kann selbst eine Sammlung sein. The View definiert ein Ereignis, zum Beispiel:Backbone.js Ereignisse und Sammlungen - eine Ansicht pro Artikel

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

Der resultierende HTML-Code eine Sammlung mit einem einzigen Artikel Rendering, die selbst ist eine Sammlung von drei Elementen ist:

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

Ein Klick <a href>One</a> funktioniert , und ein einzelnes Ereignis wird ausgelöst und ich habe Zugriff auf das Modell in der Ansicht. Allerdings:

  • Durch Klicken <a href>Two</a> Ergebnisse im Falle werden für Zwei, Drei, Vier und Eins ausgelöst.
  • Durch Klicken <a href>Four</a> Ergebnisse für den Fall für Zwei ausgelöst wird, Drei, Vier und eine
  • Durch Klicken <a href>Three</a> Ergebnisse im Falle ausgelöst wird für
    Zwei, Drei, Vier und eine

Das allgemeine Muster Klicken Sie auf ein verschachtelt <a href> Element wird den Event-Handler für alle Geschwister und übergeordneten<a href> Elemente aufrufen.

Antwort

0

Sie müssen wahrscheinlich nur Ihre Event-Registrierung ändern:

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

Wie kann ich für ein Ereignis für eine bestimmte Ansicht Instanz registrieren, wenn sie aus der gleichen Ansicht ‚Klasse‘ erzeugt werden? – Jack

Verwandte Themen