Internet explorer 剔除可观察元素在IE中未正确更新

Internet explorer 剔除可观察元素在IE中未正确更新,internet-explorer,data-binding,knockout.js,observable,Internet Explorer,Data Binding,Knockout.js,Observable,我有一个非常简单的可观察元素,由于某些原因,它在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

我有一个非常简单的可观察元素,由于某些原因,它在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>

var ViewModel=函数(){
var self=这个;
self.someText=ko.observable(“初始值”);
self.show=函数(){
警报(self.someText());
self.someText(“”);
}
}
应用绑定(新的ViewModel());
因此,当单击enter时,应该显示输入到文本框中的值。mozilla、opera和chrome的一切都很好。IE看不到任何更改,总是以空字符串发出警报。为什么?

对不起,我应该仔细搜索一下。问题发生在不同的事件中,之后应更新可观察元素。小补丁看起来像这样

<input type="text" data-bind="value: someText, valueUpdate: 'keydown'" />


与其他浏览器相比,我不完全理解IE的行为差异,但在触发提交事件之前,似乎没有触发更改事件。敲除依赖于这些事件来保持视图模型的最新。你可能需要调整你的代码来解决这个问题。我几乎发疯了。在其他地方工作,因为我在使用上面的代码。我可以找出为什么它不在这里,即使在逐步通过代码。。。