0

我正在尝试检测用户是否使用“选项卡”按钮离开字段 - 如果是这样,我想保存数据。

在这种情况下,当最后一个字段通过选项卡退出时,将保存两个字段。如果我手动单击“保存”,两个字段都会正确更新。如果我使用 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;
        };
4

1 回答 1

2

您是否尝试过在文本框中添加“valueUpdate:'afterkeydown'”?

于 2013-03-30T00:32:14.897 回答