Keypress活动在"输入"之外停止工作。更新到0.5.2后Meteor中的元素

时间:2012-11-29 03:17:54

标签: meteor

我刚刚发现升级到Meteor 0.5.2(从0.5开始)后,关键事件('keypress','keydown',keyup')的事件处理停止了我的工作。其他事件(例如“点击”和“模糊”)工作得很好。

即使在示例应用中,这样的代码也没有做任何事情:

Template.someTemplate.events = {
  'keydown' : function(e) {
      console.log(e);
  }
};

有趣的是,我在输入类型=“文本”中输入内容时,此代码 工作(函数触发)for keypresses textarea的。 但在其他地方 - 没有任何反应。

我正在测试Ubuntu 12.10中最新的Crome。

还有其他人遇到过这个问题吗?

谢谢, 乔治

2 个答案:

答案 0 :(得分:9)

keydown事件对我来说适用于可编辑的html。输入字段或contenteditable标签触发keydown事件。

但如果你问如何处理正文上的keydown事件,这个帖子可能会有所帮助:

你可以看一下这个帖子:https://groups.google.com/forum/?fromgroups=#!topic/meteor-talk/uHy--xIGH8o

基本上,现在,您可以直接将事件处理程序附加到body元素。在上面链接的示例中,他等待呈现模板,然后使用jQuery附加处理程序:

Template.myTemplate.rendered = function() { 
        // Assuming you're using jQuery 
        $('body').on('keydown',function() { 
                console.log('key pressed'); 
        }); 
} 

Meteor团队显然将很快支持更好地支持身体水平事件。

答案 1 :(得分:0)

你可以简单地附上

  

$('body')。on('keydown',function(){                   console.log('按下'键);           });

meteor.startup函数中的