流星 - 全球keydown后收集?

时间:2014-07-01 18:58:50

标签: javascript templates meteor

我已经搜遍过,Meteor似乎无法同时做这两件事。

我想要的很简单:当按下任何按钮(全局)时,会调用collection.find(...)。它在Template.events中不可行,因为Meteor不支持全局keydown,我不能在Template.rendered中执行它,因为由于某种原因,collection.find总是不返回任何内容。

有什么想法吗?

1 个答案:

答案 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)
}