Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ember.js映射动作键控事件_Javascript_Ember.js - Fatal编程技术网

Javascript Ember.js映射动作键控事件

Javascript Ember.js映射动作键控事件,javascript,ember.js,Javascript,Ember.js,我正在试用Ember.js,但在使用操作时遇到了问题 如果我使用以下选项: 测试 并创建一个控制器: App.NewController=Ember.ArrayController.extend({ 行动:{ 测试:函数(){ 控制台日志(“测试”); }, } }); 然后一切正常,我可以在日志中看到test。但是,当我尝试以下操作时: 并以类似的方式定义test2操作: App.NewController=Ember.ArrayController.extend({ 行动:{ 测试:

我正在试用Ember.js,但在使用操作时遇到了问题

如果我使用以下选项:

测试
并创建一个控制器:

App.NewController=Ember.ArrayController.extend({
行动:{
测试:函数(){
控制台日志(“测试”);
},
}
});
然后一切正常,我可以在日志中看到
test
。但是,当我尝试以下操作时:


并以类似的方式定义
test2
操作:

App.NewController=Ember.ArrayController.extend({
行动:{
测试:函数(){
控制台日志(“测试”);
},
test2:function(){
console.log(“test2”);
}
}
});

那么它似乎不起作用了。我的测试按钮正在工作,但是keyup事件处理程序在阅读后没有像我预期的那样被触发。

这真的很奇怪,我会继续研究它,但是你可以使用输入帮助器并观察值,另外,如果你关心他们按的是哪个键,你可以扩展文本字段并在那里获取keyup

{{input value=name}}

  postKey: function(){
    console.log(this.get('name'));  
  }.observes('name')

另请参见:

这真的很奇怪,我会继续研究它,但您可以使用输入帮助器并观察值,此外,如果您关心他们按的是哪个键,您可以扩展文本字段并将键放在那里

{{input value=name}}

  postKey: function(){
    console.log(this.get('name'));  
  }.observes('name')

另请参见:

似乎有一个bug(或至少是非常奇怪的行为)影响了对键盘事件使用操作的能力。通常,当按下修改键时,非键盘事件(如默认的“单击”事件)的操作处理程序不工作。在代码中,如果将
allowedKeys=“any”
添加到动作助手,则将调用处理程序


Fiddle:

看起来有一个bug(或者至少是非常奇怪的行为)影响了对键盘事件使用动作的能力。通常,当按下修改键时,非键盘事件(如默认的“单击”事件)的操作处理程序不工作。在代码中,如果将
allowedKeys=“any”
添加到动作助手,则将调用处理程序


Fiddle:

谢谢,我使用了第一种方法(使用
postKey
)。稍后我将尝试另一种方法(来自链接答案)。这个解决方案更可取还是无关紧要?这取决于你需要什么。如果您所关心的只是字段何时更改,而不是有人按下shift、ctrl或类似的随机键,那么我认为这个解决方案更简单。如果你真的想知道什么时候任何一个键(比如回车键)被按下,那么另一个解决方案更好。@Kingpin2k:有没有办法引入延迟。当前,当用户按键时,我们调用该函数。现在,我想确保当用户暂停或完成键入时,只有我应该调用该函数,而不是在每个键上都调用该函数。在。您可以对另一个仅在暂停/停止键入时触发的方法进行去抖动。(对不起,我正在打电话,很难给出一个例子)谢谢,我使用了第一种方法(使用
postKey
)。稍后我将尝试另一种方法(来自链接答案)。这个解决方案更可取还是无关紧要?这取决于你需要什么。如果您所关心的只是字段何时更改,而不是有人按下shift、ctrl或类似的随机键,那么我认为这个解决方案更简单。如果你真的想知道什么时候任何一个键(比如回车键)被按下,那么另一个解决方案更好。@Kingpin2k:有没有办法引入延迟。当前,当用户按键时,我们调用该函数。现在,我想确保当用户暂停或完成键入时,只有我应该调用该函数,而不是在每个键上都调用该函数。在。您可以对另一个仅在暂停/停止键入时触发的方法进行去抖动。(对不起,我正在打电话,很难举个例子)我的修复程序刚刚合并到Ember中我的修复程序刚刚合并到Ember中