这是因为 ModelBinder 默认情况下将新值设置为模型在“模糊”或“更改”事件上的属性(这取决于输入的类型)。您可以通过更改源代码来修改此行为,在这两种方法中添加 keyup 作为绑定事件:
_bindViewToModel:function () {
$(this._rootEl).delegate('', 'change keyup', this._onElChanged);
// The change event doesn't work properly for contenteditable elements - but blur does
$(this._rootEl).delegate('[contenteditable]', 'blur keyup', this._onElChanged);
},
_unbindViewToModel: function(){
if(this._rootEl){
$(this._rootEl).undelegate('', 'change keyup', this._onElChanged);
$(this._rootEl).undelegate('[contenteditable]', 'blur keyup', this._onElChanged);
}
},