javascript-如何使用元素的ID触发Meteor.js中的事件

我目前正在使用Meteor 0.6.3

使用“ id”作为选择器的以下情况不起作用:

模板:

<template name="menu">
    <div>
        <button id="showmap" class="btn-primary">Show map</button>
    </div>
</template>

JS:

Template.menu.events({
  'click #showmap' : function () {
      alert("test");
  }
});

如果我使用“类”而不是“ id”,则一切正常:

模板:

<template name="menu">
    <div>
        <button class="btn-primary showmap">Show map</button>
    </div>
</template>

JS:

Template.menu.events({
  'click .showmap' : function () {
      alert("test");
  }
});

我已经看到了几个使用“ id”作为选择器的示例.那么我可能做错了什么?

解决方法:

我尝试了您的代码,但它没有像您所说的那样起作用.奇怪的是,类选择器的事件也不起作用.但是,我添加了许多软件包,因此如果其中一个干扰,我不会感到惊讶.

我在SO上找到了一个非常类似的问题的答案:
Setting simple events in meteor

因此,您可能需要搜索错误报告并将其发布(如果尚未发布).
https://github.com/meteor/meteor/issues

最好的解决方法可能是使用class作为选择器,然后针对event.currentTarget.id进行测试,该事件应具有单击的元素ID.

上一篇:[译]Java 设计模式之适配器


下一篇:javascript-MeteorJS:使用Backbone.js路由