関連付けられたビューを実行するトリガーであるemberjs の onEventを変更したいと考えていますaction
。onEvent には 2 つのオプションしかないようです: defaultenter
とkeypress
. など、他のオプションも利用できるかどうかを知りたいfocusOut
です。
ちょっとした質問
しかし、最初に、デフォルト以外のオプションを機能させることさえできませんでした。
Myapp.TextField = Ember.TextField.extend({
onEvent: 'keypress'
});
テキスト フィールドはキーを押しても反応しませんでしたが、enter
.
実際の質問
ビューで指定されたonEvent
をトリガーするために、ember.js テキスト フィールドを他の に応答させるにはどうすればよいでしょうか。action
これは私が期待しているものです:
HBS:
<script type="text/x-handlebars" id="themodel">
{{view Myapp.TextField action="targetAction" valueBinding="myText"}}
</script>
JS ビュー:
Myapp.TextField = Ember.TextField.extend({
// is this possible?
onEvent: 'focusOut'
});
JS コントローラー:
Myapp.ThemodelController = Ember.ArrayController.extend({
targetAction: function(){
var usertext = this.get('myText');
// do stuff with the usertext ...
}
});
「実際の質問」の回避策
を変更しないため、これは回避策ですが、targetActiononEvent
を直接トリガーできます。focusOut
JS ビュー:
Myapp.TextField = Ember.TextField.extend({
focusOut: function(){
this.get('controller').set('myText', this.get('value')).targetAction();
}
});
onEvent
しかし、私はこの面倒な実装が本当に好きではないので、 で利用する方法があれば教えてくださいfocusOut
。ありがとう。