在我看来,有
<td><input type="text" data-bind="value:TotalAmount, inputmask: { value:TotalAmount}, event:{change: $root.totalAmountChanged}" /></td>
当我输入输入字段时,更改事件不会触发,但如果我按下ENTER,它会触发。理想情况下,它应该触发TAB。
所以,我把它添加到我的viewmodel:
self.changeOnTab = function(obj, event) {
if (event.keyCode == 9) {
$(event.target).change();
}
并更改了我的视图以添加keydown事件:
<td><input type="text" data-bind="value:TotalAmount, inputmask: { value:TotalAmount}, event:{change: $root.totalAmountChanged, keydown: $root.changeOnTab}" /></td>
现在,当我点击TAB时,更改事件将触发,但是当我在输入字段中键入任何数字时,它们将被忽略。看起来我在changeOnTab函数中缺少一些东西,当keyCode为NOT 9时,应保留我的值。
答案 0 :(得分:0)
我们有observable的一个关键原因是你不必看DOM元素,你可以观察observable。订阅TotalAmount
,告知其价值变化时您想做的事情。