4

我有这个非常简单的可观察元素,由于某种原因在 IE8 中没有更新

<body>
<form data-bind="submit: show">
<input type="text" data-bind="value: someText" />
</form>
<script type="text/javascript">

    var ViewModel = function () {
        var self = this;
        self.someText = ko.observable('initial value');

        self.show = function () {
            alert(self.someText());
            self.someText('');
        }
    }

    ko.applyBindings(new ViewModel());
</script>
</body>

因此,当单击 Enter 时,应显示输入到文本框中的值。Mozilla,Opera,chrome中的一切都很好。IE 看不到任何更改,并且始终使用空字符串发出警报。为什么?
在这里你可以运行这段代码

4

1 回答 1

10

对不起,我应该仔细谷歌它。问题是在不同的事件之后应该更新可观察元素。IE 的小修复看起来像这样

<input type="text" data-bind="value: someText, valueUpdate: 'keydown'" />
于 2012-08-12T17:51:44.503 回答