3
我想實現使用'hasFocus'綁定的簡單演示代碼。示例代碼可用here它也在瀏覽器中正常工作(IE)knockout.js - hasFocus不工作
當我複製相同的代碼並將其粘貼到我的MVC應用程序中時,它停止工作。即使點擊按鈕後沒有把焦點放在文本框上。以下是我的代碼:
<div>
<div>
<input data-bind="hasFocus: isSelected" />
<button data-bind="click: setIsSelected">Focus programmatically</button>
<span data-bind="visible: isSelected">The textbox has focus</span>
</div>
</div>
@section scripts{
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.7.1.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/knockout-2.1.0.js")"></script>
<script type="text/ecmascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.20.js")"></script>
<script>
$(function() {
var viewModel =
{
isSelected: ko.observable(false),
setIsSelected: function() { this.isSelected(true) }
};
ko.applyBindings(viewModel);
});
</script>
}
有沒有人知道這裏出了什麼問題?
來下載最新的挖空庫。輸出中是否包含腳本部分?請檢查呈現頁面的html源代碼。有可能你沒有在任何地方渲染該部分。在佈局的某個位置使用['@ Html.RenderSection()'](http://msdn.microsoft.com/zh-cn/library/gg537886%28v=vs.111%29.aspx)。 – SoonDead
我剛剛在我的MVC應用程序中嘗試過,它可以在所有瀏覽器中正常工作。作爲一個便箋,你爲什麼不使用Bundles?而不是直接鏈接到腳本? – avrahamcool
謝謝@avrahamcool。其實這是老版本的ko中的錯誤。我使用packagemanager下載了最新版本的knockoutjs,並將其固定在其中。 (knockoutjs3.0.0) – user2243747