这真的很简单。我目前在我的模板事件中,但它不工作:如何检测Meteor JS中整个文档的事件?
'keyup': function(event) {
event.preventDefault();
console.log("KEYUP");
}
更新:它似乎是在框架中的通用错误。如果有人可以分享我可以使用的手动黑客,而不涉及使用别人的软件包,我将不胜感激。
更新2:我已经解决了这个问题,如下所示。
这真的很简单。我目前在我的模板事件中,但它不工作:如何检测Meteor JS中整个文档的事件?
'keyup': function(event) {
event.preventDefault();
console.log("KEYUP");
}
更新:它似乎是在框架中的通用错误。如果有人可以分享我可以使用的手动黑客,而不涉及使用别人的软件包,我将不胜感激。
更新2:我已经解决了这个问题,如下所示。
突然之间,我的原始代码工作。也许流星的好人已经解决了这个问题,耶!
下面是我什么工作在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");
}
});
真棒!
不幸的是,在流星(source)中有一个错误,事件不会在UI.body.template
上触发。您可以使用包meteor-body-events对其进行修补,并在整个文档上附加keyup
事件。
目前流星正在处理<body>
事件,除非您正在使用渲染器来接管渲染模板。例如Kadira:blaze-templates将覆盖默认的Meteor模板渲染(用于FlowRouter)或Iron Router。
幸运的是,有一个简单的程序包可以恢复此功能,称为gwendall:body-events。
我很震惊,一个JavaScript框架缺乏这样一个基本的功能。在这种情况下,我会修改问题,要求手动黑客。我宁愿不使用另一个包,但如果我解决了,我会接受你的答案。谢谢! – FullStack 2014-10-18 11:46:13
您也可以尝试使用Jquery或重新考虑您的方法 – 2014-10-18 12:28:42
如何使用JQuery执行此操作?我会在哪里放置代码?谢谢你的帮助! – FullStack 2014-10-18 12:31:08