我偶然发现了Meteor.js中一个非常时髦的要求 - 我有2个按钮(“作为孩子提交”和“作为兄弟提交”)和对按键做出反应的文本输入。按钮可以自己工作,但是我想从输入的keydown事件中触发使用Template.my_template.events(...)创建的“click”事件。
我设法使用以下使用EventMap和rendered()回调的构造(coffeescript)编写脚本:
Template.my_template.events =
'keydown input': () -> reactToPressedKey();
Template.my_template.rendered = () ->
$('click .submit_child').bind 'click', () -> doStuff();
$('click .submit_sibling').bind 'click', () -> doStuff();
它的工作方式与我预期的一样,但我想知道是否有更好的解决方案,比如只使用EventMap(Template.my_template.events)?
答案 0 :(得分:-1)
将事件放在另一个模板中。
Template.other_template.events
'click .submit_child': doStuff
'click .submit_sibling': doStuff
Template.my_template.events
'keydown input': reactToPressedKey