Meteor 流星模板事件

Meteor 流星模板事件,meteor,Meteor,我仍然在试图抓住流星,所以可能会有一个简单的答案,我希望是这样。我有这个功能,当我的按钮被点击时,它可以工作并返回正确的id $(document).ready(function(){ $("button").click(function(){ var selection = (this.id); boardSpecs[0] = selection; return boardSpecs; }); }); 我想把它变成一个流星点击事件,类似这样的事情 Te

我仍然在试图抓住流星,所以可能会有一个简单的答案,我希望是这样。我有这个功能,当我的按钮被点击时,它可以工作并返回正确的id

$(document).ready(function(){
$("button").click(function(){
    var selection = (this.id);
    boardSpecs[0] = selection;
        return boardSpecs;
    });
});
我想把它变成一个流星点击事件,类似这样的事情

Template.selectBoard.events({
'click button' : function (event) {
    event.preventDefault();
    var boardType = event.target.id;
    Session.set('boardType', boardType);
    alert(boardType);
    }
});
这是按钮所在的模板

<template name = "selectBoard">
<div class = "container">
    <div class = "boardCarousel">
        {{#each boardList}}
                <div class = "span1">
                    <div class = "thumbnail">
                        <img data-src = "{{source}}" alt = "placeholder" class = "img-rounded">
                        <div class = "something">
                            <h2>{{name}}</h2>
                            <p>{{description}}</p>
                            <button type = "button" id = "{{id}}" class = "btn btn-primary">Select</button>
                        </div>
                    </div>
                </div>
        {{/each}}
    </div>
</div>

假设按钮是模板的一部分,您的代码几乎是正确的。唯一不同的是,它不会指向您的按钮,因此您需要从事件中获取它:

Template.selectBoard.events({
'click button' : function (event) {
    event.preventDefault();
    var boardType = event.target.id;
    Session.set('boardType', boardType);
    alert(boardType);
    }
});

让我们更容易些。您的按钮定义为:

<button type = "button" id = "{{id}}" class = "btn btn-primary">Select</button>
我认为,借用Python的形容词来形容这一点更为迅速。
我还避免使用变量名id,因为它可能与自然的MongoDB文档标识符_id混淆。

我使用了一个body事件,它马上就可以工作了。不知道为什么,但它做到了

Template.body.events({
'click #selected' : function(event){
    event.preventDefault();
    Session.set('board',event.target.id);
    }
});

我更新了活动,但仍然无法使其运行。我添加了按钮所在的模板。您可以发布console.logevent.currentTarget.id的结果吗?没有任何记录。我不确定这对这种情况意味着什么。
Template.selectBoard.events({
  'click button' : function (event) {
    event.preventDefault();
    var boardType = this.id;
    Session.set('boardType', boardType);
    alert(boardType);
  }
});
Template.body.events({
'click #selected' : function(event){
    event.preventDefault();
    Session.set('board',event.target.id);
    }
});