奇怪的问题。我有一个选择框绑定到一个更新 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
然后按 Tab 键关闭该字段,则 IE10 会崩溃。
其他一些观察:
这在 Chrome 中运行良好。看来是IE10的问题。我没有其他版本的 IE 可供我测试,尽管它似乎在兼容模式下也会崩溃。
如果我取出 observable,一切正常。
如果我减少数组中的项目数,一切正常。
我承认 javascript 数组当然可以收紧(这通常来自被序列化为 JSON 的对象)。但我认为它在语法上是可以的,并且仍然应该工作。