我正在尝试检测用户是否使用“选项卡”按钮离开字段 - 如果是这样,我想保存数据。
在这种情况下,当最后一个字段通过选项卡退出时,将保存两个字段。如果我手动单击“保存”,两个字段都会正确更新。如果我使用 TAB,只会保存第一个字段,而旧字段不会保存新数据。这告诉我“keydown”绑定没有看到新数据。
如果我在本地调试并将鼠标悬停在 tabOut 方法中的“数据”上,我会看到第一个字段有新数据,但第二个字段有旧数据。
小提琴:http: //jsfiddle.net/PTSkR/18/
任何帮助将非常感激!
看法:
<div class="span5 side-study-box">
<textarea data-bind="value: sides()[0].content"></textarea>
</div>
<div class="span5 side-study-box">
<textarea data-bind="value: sides()[1].content, event: { keydown: tabOut }"></textarea>
</div>
选项卡输出功能:
self.tabOut = function (data, event) {
if (event.keyCode == 9) {
debugger;
self.save();
};
return true;
};