请参阅下面的简单示例;一个绑定到计算的observable的文本框。我的问题是IE在文本框更新时调用写方法两次。 Firefox和其他浏览器似乎没有这个问题。我在IE 7 &中观察到这个问题8.knockout.js计算可观察性在Internet Explorer中调用两次
首先,我做错了什么?如果不是,那么建议的方法是什么?
<script>
var viewModel = {
myTestVar: "aaa"
};
viewModel.myTest = ko.computed({
read: function() {
return viewModel.myTestVar;
},
write: function (value) {
alert(value);
viewModel.myTestVar = value;
},
owner: viewModel
});
$(document).ready(function() {
ko.applyBindings(viewModel);
});
</script>
</head>
<body>
<input data-bind="value:myTest",type="text" style="width:150px;" />
</body>
谢谢,这工作!写入方法现在只被调用一次。 – Per 2013-02-15 21:22:24
这对IE 10标准文档模式下的IE 10没有帮助。我浏览了KO调试版本的代码,在'value'绑定检查中'element.autocomplete'是'undefined',导致注册了双重事件处理程序。你知道这是否有一个公开的问题,或者是否已经解决? – 2013-10-15 13:51:25
它似乎是IE10兼容模式下的一个错误。我不知道有什么公开的问题。 – 2013-10-15 21:30:46