在 IE9 上以 IE8 兼容模式运行时,我遇到了严重的淘汰问题。这是问题:
我有一个动态生成的文本框数组,并且更改事件绑定到这些元素。当更改事件存在时,在 IE8 兼容模式下,我需要按两次 Tab 才能离开控件。这不会在 Firefox 中发生,也不会在没有事件绑定时发生。
我不确定这是否是我的活动的问题,所以我在这里发布代码:
<tbody data-bind="foreach: DailyItemList">
<tr>
<td>
<span data-bind="text:Day"></span>
</td>
<td><input id="Text2" data-bind="value: Required"/></td>
<td><input id="Text3" data-bind="value: Setup, event:{change: ValidateSetup}"/></td>
<td><input id="Text4" data-bind="value: Close, event:{change: ValidateClose}"/></td>
</tr>
</tbody>
这是具有更改功能的视图模型:
var DailyItem = function (data) {
this.Day = ko.observable(data.DayOfWeek);
this.Required = ko.observable(data.Required);
this.Setup = ko.observable(data.SetupTime);
this.Close = ko.observable(data.CloseTime);
this.ValidateSetup = function () {
if (this.Setup() > 30) {
alert('Invalid SetupTime');
}
}
this.ValidateClose = function () {
if (this.Close() > 30) {
alert('Invalid SetupTime');
}
}
}
function ViewModel(items) {
this.DailyItemList = ko.observableArray([]);
records = $.map(items, function (data) { return new DailyItem(data) });
this.DailyItemList(records);
}