9

我正在尝试排行榜示例,并且我想取消设置selected_player当您在玩家姓名之外单击时的设置。我认为要使其正常工作,我需要向 body 元素添加一个侦听器事件,并防止它触发其中的其他元素。然后我会设置selected_player为0。

但是我似乎只能将事件映射添加到模板?

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

我错过了什么吗? 如何收听整个页面的“点击”事件?

4

1 回答 1

13

没有很好的方法将事件绑定到整个身体。但是,正如 Narven 建议的那样,您可以将所有代码包装在一个具有事件的外部模板中。

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

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

Template.outer.events({
  'click': function () {
    do stuff 
  }
});
于 2012-12-14T02:04:37.777 回答