Knockout.js键盘选择绑定到可观察碰撞的选择

Knockout.js键盘选择绑定到可观察碰撞的选择,knockout.js,Knockout.js,奇怪的问题。我有一个选择框绑定到一个大型数组,该数组更新了一个可观察对象。除了数组大小之外,这没有什么特别之处。下面是一个JSFIDLE,其中包含一个完整的示例: function CommercialEntryViewModel() { var self = this; self.technicalOwner = ko.observable(""); self.technicalOwnerOptions = [{"Name":"aapr","Value":"aapr"

奇怪的问题。我有一个选择框绑定到一个大型数组,该数组更新了一个可观察对象。除了数组大小之外,这没有什么特别之处。下面是一个JSFIDLE,其中包含一个完整的示例:

function CommercialEntryViewModel() {
    var self = this;

    self.technicalOwner = ko.observable("");
    self.technicalOwnerOptions = [{"Name":"aapr","Value":"aapr"},{"Name":"abf","Value":"abf"}  .... ];  
};
下面是带有数组缩写版本的代码:

function CommercialEntryViewModel() {
    var self = this;

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

function CommercialEntryViewModel() {
    var self = this;

    self.technicalOwner = ko.observable("");
    self.technicalOwnerOptions = [{"Name":"aapr","Value":"aapr"},{"Name":"abf","Value":"abf"}  .... ];  
};
使用IE10,当我使用鼠标从选择框中选择一个值时,可观察对象得到更新,一切正常。但是,如果使用键盘在选择框中选择一个值,然后用tab键关闭该字段,IE10就会崩溃

function CommercialEntryViewModel() {
    var self = this;

    self.technicalOwner = ko.observable("");
    self.technicalOwnerOptions = [{"Name":"aapr","Value":"aapr"},{"Name":"abf","Value":"abf"}  .... ];  
};
其他一些意见:

function CommercialEntryViewModel() {
    var self = this;

    self.technicalOwner = ko.observable("");
    self.technicalOwnerOptions = [{"Name":"aapr","Value":"aapr"},{"Name":"abf","Value":"abf"}  .... ];  
};
这在铬上很好用。似乎是IE10的问题。我没有其他版本的IE可供测试,尽管它在兼容模式下似乎也会崩溃

function CommercialEntryViewModel() {
    var self = this;

    self.technicalOwner = ko.observable("");
    self.technicalOwnerOptions = [{"Name":"aapr","Value":"aapr"},{"Name":"abf","Value":"abf"}  .... ];  
};
如果我去掉可见光,一切正常

function CommercialEntryViewModel() {
    var self = this;

    self.technicalOwner = ko.observable("");
    self.technicalOwnerOptions = [{"Name":"aapr","Value":"aapr"},{"Name":"abf","Value":"abf"}  .... ];  
};
如果我减少数组中的项数,一切正常

function CommercialEntryViewModel() {
    var self = this;

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

我承认javascript数组肯定会更紧凑,这通常是由于对象被序列化为JSON。但我认为这在语法上是可以的,应该仍然有效。

我也经历了完全相同的事情,升级到淘汰版3.0.0解决了这个问题。

你的小提琴运行可以在IE10中找到。嗯,好的,谢谢你提供的信息。我的公司里有很多人都经历过同样的行为,非常令人沮丧。这是一个有1000个数组条目的版本,对我来说运行得很好,但它有点慢,在Chrome中不是这样。-对于大型输入,建议使用某种自动完成方式,而不是使用大型选择框。不完全是一个解决方案,但是嘿。。。实际上,没有人想使用1000个条目的下拉列表。你也可以试试。我恰好是昨天创作的。
function CommercialEntryViewModel() {
    var self = this;

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