2014-10-18 52 views
3

这真的很简单。我目前在我的模板事件中,但它不工作:如何检测Meteor JS中整个文档的事件?

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

更新:它似乎是在框架中的通用错误。如果有人可以分享我可以使用的手动黑客,而不涉及使用别人的软件包,我将不胜感激。

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

回答

1

突然之间,我的原始代码工作。也许流星的好人已经解决了这个问题,耶!

下面是我什么工作在0.9.3.1:

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

流星甚至可以处理多个事件,像这样一个单一的处理程序:

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

真棒!

5

不幸的是,在流星(source)中有一个错误,事件不会在UI.body.template上触发。您可以使用包meteor-body-events对其进行修补,并在整个文档上附加keyup事件。

+0

我很震惊,一个JavaScript框架缺乏这样一个基本的功能。在这种情况下,我会修改问题,要求手动黑客。我宁愿不使用另一个包,但如果我解决了,我会接受你的答案。谢谢! – FullStack 2014-10-18 11:46:13

+0

您也可以尝试使用Jquery或重新考虑您的方法 – 2014-10-18 12:28:42

+0

如何使用JQuery执行此操作?我会在哪里放置代码?谢谢你的帮助! – FullStack 2014-10-18 12:31:08