我正在尝试调用我在路由器控制器上制作的自定义事件,但没有成功。 这是我试图触发的事件:
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
}),
这种方法也失败了。 我错过了什么吗?
编辑:当我将其作为自定义事件审核时,我错过了。我真正的意思是定期点击事件,激活一系列方法(如任何常规事件)。
答案 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');
}
});