重写keyUp函数时,为什么TextField valueBind不正确?这里的示例http://jsfiddle.net/z5SNW/3/.基本上每当按下enter或用户单击按钮时,我都会警告TextField的值.问题是按下按钮不会显示实际值,直到您从文本字段中聚焦,然后单击按钮.
我可以通过将一个else放入keyUp函数并在那里设置值来破解它,但这对我来说似乎不对.我想我只是缺少一些非常简单的东西.
通过覆盖keyUpTextField的值仅在change事件被触发时设置(焦点丢失时),请参阅代码.
如果您使用可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'));
}
});?
Run Code Online (Sandbox Code Playgroud)
或者你保持你的实现keyUp(如果你计划在其他keyCode上行动,但是你必须打电话this.interpretKeyEvents(event);,请参阅http://jsfiddle.net/z5SNW/8/.
| 归档时间: |
|
| 查看次数: |
4149 次 |
| 最近记录: |