如何检测Meteor JS中整个文档的事件?

它真的很简单。 我目前在我的模板事件中,但它不起作用:

'keyup': function(event) { event.preventDefault(); console.log("KEYUP"); } 

更新:它似乎是框架中的一般错误。 我很感激,如果有人可以分享我可以使用的手动黑客,不涉及使用别人的包。

更新2:我已经解决了这个问题,如下所示。

不幸的是,meteor( 源 )中存在一个错误,即事件不会在UI.body.templateUI.body.template 。 您可以使用包meteor-body-events来修补它,并在整个文档上附加keyup事件。

我的原始代码突然起作用了。 也许Meteor的优秀人员已经解决了这个问题,耶!

以下是0.9.3.1对我有用的内容:

 Template.template_name_here.events({ 'keyup': function(event) { event.preventDefault(); console.log("KEYUP"); } }); 

Meteor甚至可以使用单个处理程序处理多个事件,如下所示:

 Template.template_name_here.events({ 'keyup, click': function(event) { event.preventDefault(); console.log("KEYUP OR CLICK"); } }); 

真棒!

目前Meteor正在正确处理事件, 除非您使用的渲染器接管模板的渲染。 这方面的一个例子是Kadira:blaze-templates ,它将覆盖模板的默认Meteor渲染(用于FlowRouter)或Iron Router 。

幸运的是,有一个简单的包来恢复这个function,称为gwendall:body-events 。