在Meteor 1.2上调用自定义事件

时间:2016-06-10 13:20:30

标签: javascript meteor iron-router

我正在尝试调用我在路由器控制器上制作的自定义事件,但没有成功。 这是我试图触发的事件:

Template.foo.events ({

"click button.my_event" : function (e) {
//event
}
})

我尝试使用jQuery方法.trigger()来调用它:

action : function () {
$('.my_event').trigger('click button.my_event');  
}

哪个失败了。 后来我认为事件本身需要使用jQuery事件层才能使用trigger()所以我试过了:

"click button.my_event" : $(".my_event").on("click",function (e) { 
//event
}),

这种方法也失败了。 我错过了什么吗?

编辑:当我将其作为自定义事件审核时,我错过了。我真正的意思是定期点击事件,激活一系列方法(如任何常规事件)。

1 个答案:

答案 0 :(得分:0)

您将事件类型指定为click。这就是为什么它不起作用的原因。

以下是工作示例:

<template name="Test">
    <button class="trigger">Trigger</button>
    <button class="test-button">Test</button>
</template>

JS

Template.Test.events({
  'click .trigger': function (event, tmpl) {
    tmpl.$('.test-button').trigger('myEvent');
  },

  //custom event handler
  'myEvent .test-button': function (event, tmpl) {
    console.log('Hello, myEvent');
  }
});