請參閱下面的簡單示例;一個綁定到計算的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