更新到0.5.2后,Keypress事件在Meteor中的"输入"元素之外停止工作

Geo*_*hov 3 meteor

我刚刚发现,在升级到Meteor 0.5.2(从0.5开始)后,关键事件('keypress','keydown',keyup')的事件处理停止了我的工作.像其他事件('click'和'blur')工作得很好.

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

Template.someTemplate.events = {
  'keydown' : function(e) {
      console.log(e);
  }
};
Run Code Online (Sandbox Code Playgroud)

有趣的是,这个代码在我在输入类型="text"textarea中键入的键按钮工作(函数触发).但在别处 - 没有任何反应.

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

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

谢谢,乔治

cma*_*her 9

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

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

您可以查看以下主题:https://groups.google.com/forum/?fromgroups =#!topic/meteor- totra/uHy--xIGH8o.

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

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

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

  • 这仍然是这样做的方式吗?我无法找到任何关于此的信息,而且我在Meteor中找不到任何有关非输入击键的信息.我很惊讶这不会经常出现. (5认同)