我已購買杜蘭達入門工具包並試圖使用搜索框。 在shell.html我已經改變了輸入框有一個數據綁定到SEARCHTERM:durandal入門工具包搜索功能和IE
<form class="navbar-search pull-right" data-bind="submit:search">
<input type="text" class="search-query" placeholder="Search" data-bind="value:searchTerm">
</form>
然後在shell.js我已經加入了觀察到的搜索關鍵詞與此代碼:
define(function(require) {
var router = require('durandal/plugins/router'),
app = require('durandal/app');
var searchTerm = ko.observable();
return {
searchTerm: searchTerm,
router: router,
search: function() {
app.showMessage('Search for ' + searchTerm() + ' not yet implemented');
},
activate: function() {
return router.activate('welcome');
}
};
});
此代碼工作在除IE(9和10)之外的每個瀏覽器(以及Chrome,Firefox,Safari)中。問題是對於IE來說,searchTerm()總是未定義的。我在我的製作應用程序中遇到了同樣的問題,但能夠通過這個簡單的例子重現它。我在這裏錯過了什麼?
如果刪除提交按鈕的撥弄有同樣的問題。通過在文本輸入上敲擊輸入,表單被提交,但敲除綁定不會發生.https://github.com/knockout/knockout/issues/760 – voam
?我離開了/>結束,http://jsfiddle.net/gnKth/2/我刪除按鈕並添加/>並按回車,它明顯更新爲我?如果沒有其他更新的關鍵按下的價值就像在這個小提琴http://jsfiddle.net/gnKth/3/ –
如果您更改'hey2'的值在文本框中它不會更新在提交IE瀏覽器。 – voam