Knockout.js键盘选择绑定到observable崩溃IE

时间:2013-11-13 14:06:27

标签: knockout.js

奇怪的问题。我有一个选择框绑定到一个更新observable的大型数组。除了数组大小之外,没有什么比这更奇特了。这是一个带有完整示例的 jsfiddle http://jsfiddle.net/mikebruner/s2SFj/11/

以下是带有数组缩写版本的代码:

加价

Value: <span data-bind="text: technicalOwner"></span>
<p>
Field: 
<select name="technicalOwner" id="technicalOwner" 
    data-bind="options: technicalOwnerOptions
                                , optionsCaption: 'Select...'
                                , optionsText: 'Value'
                                , optionsValue: 'Name'
                                , value: technicalOwner">
</select>    

型号

function CommercialEntryViewModel() {
    var self = this;

    self.technicalOwner = ko.observable("");
    self.technicalOwnerOptions = [{"Name":"aapr","Value":"aapr"},{"Name":"abf","Value":"abf"}  .... ];  
};

使用 IE10 ,当我使用鼠标从选择框中选择一个值时,observable会更新,一切都很好。但是如果使用键盘在select-box中选择一个值,然后选择该字段,IE10会崩溃。

其他一些观察结果:

这在Chrome中运行良好。似乎是一个IE10问题。我没有其他版本的IE可以测试,虽然它似乎也在兼容模式下崩溃了。

如果我拿出观察结果,一切正常。

如果我减少数组中的项目数量,一切正常。

我承认javascript数组肯定会被收紧(这通常来自于被序列化为JSON的对象)。但我认为它在语法上是可以的,但仍然可以工作。

1 个答案:

答案 0 :(得分:0)

我发生了完全相同的事情,升级到Knockout 3.0.0版解决了这个问题。