2012-11-08 3 views
8

Ich experimentiere mit dem Beispiel der Bestenliste und möchte den selected_player deaktivieren, wenn Sie außerhalb eines Spielernamens klicken. Ich dachte, damit dies funktioniert, müsste ich dem Körperelement ein Listener-Ereignis hinzufügen und verhindern, dass es andere Elemente auslöst, die sich darin befinden. Dann würde ich selected_player auf 0 setzen.Wie auf Klick-Ereignisse auf der ganzen Seite in Meteor zu hören?

Allerdings scheint ich nur in der Lage zu sein, Ereigniskarten zu Templates hinzuzufügen?

Template.player.events({ 
    'click': function() { 
     Session.set("selected_player", this._id); 
    } 
    }); 

Fehle ich etwas? Wie kann ich ein "Klick" -Ereignis für die ganze Seite hören?

+3

setzen den Körper innerhalb einer Vorlage und ein Ereignis auf die Vorlage –

Antwort

12

Es gibt keine gute Möglichkeit, Ereignisse an den ganzen Körper zu binden. Sie können jedoch Ihren gesamten Code in eine äußere Vorlage mit Ereignissen einfügen, wie es Narven vorschlägt.

<body> 
    {{> outer}} 
</body> 

<template name="outer"> 
    your stuff 
</template> 

und

Template.outer.events({ 
    'click': function() { 
    do stuff 
    } 
}); 
Verwandte Themen