2012-03-13 4 views
3

keyUp関数をオーバーライドするときにTextField valueBindが正しく表示されないのはなぜですか?押下するか、ユーザーがボタンをクリックするたびに例ここhttp://jsfiddle.net/z5SNW/3/ .Basicallyは、私は、TextFieldの値を警告しています。問題は、ボタンを押しても、テキストフィールドの外に出るまで実際の値が表示されず、ボタンをクリックすることです。Ember.TextField valueBinding with keyUpオーバーライド

私は、keyUpイベント関数に他を置くことによって、それをハックし、そこに値を設定し、それは私にはないと思えることができます。私は本当にシンプルなものを見逃していると思う。

答えて

7

keyUpをオーバーライドすると、changeイベントが発生するとフォーカスが失われます(codeを参照)。

あなたが入力したのあなたの取扱いのための利用可能insertNewlineを使用する場合は、すべての作品:http://jsfiddle.net/z5SNW/6/。私はそれが私が行方不明になったという単純な何かを知っていた

App = Ember.Application.create({}); 

App.TextField = Em.TextField.extend({ 
    valueBinding: 'App.TextValue.value', 
    insertNewline: function() { 
     alert('Submitted: ' + App.TextValue.get('value')); 
    } 
}); 

App.TextValue = Em.Object.create({ 
    value: '' 
}); 

App.SubmitButton = Em.Button.extend({ 
    click: function() { 
     alert(App.TextValue.get('value')); 
    } 
});​ 

それとも、同様に他のkeyCodeさんに作用することを計画したが、その後、あなたがhttp://jsfiddle.net/z5SNW/8/を参照してください、this.interpretKeyEvents(event);を呼び出す必要があれば、あなたは(keyUpの実装を保つ。

+0

、ありがとう! – mlienau