我已经搜遍过,Meteor似乎无法同时做这两件事。
我想要的很简单:当按下任何按钮(全局)时,会调用collection.find(...)。它在Template.events中不可行,因为Meteor不支持全局keydown,我不能在Template.rendered中执行它,因为由于某种原因,collection.find总是不返回任何内容。
有什么想法吗?
答案 0 :(得分:1)
以下有效,但要求页面中的元素具有焦点,我想这是您的问题。
UI.body.events({
'keydown': function(event, template){
console.log('A key is down!')
}
})
我想你必须在没有Meteor的情况下这样做。以下内容适用于现代浏览器:
function keydownListener(event){
console.log('A key is down!')
}
Template.templateName.created = function(){
document.body.addEventListener('keydown', keydownListener)
}
Template.templateName.destroyed = function(){
document.body.removeEventListener('keydown', keydownListener)
}