2013-12-20 6 views
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> 
} 

Кто-нибудь знает, что пошло не так?

+0

Включен ли раздел сценария в выходной файл? Проверьте источник html отображаемой страницы. Возможно, вы нигде не показываете этот раздел. Используйте ['@ Html.RenderSection()'] (http://msdn.microsoft.com/en-us/library/gg537886%28v=vs.111%29.aspx) где-то в вашем макете. – SoonDead

+0

Я просто попробовал это в своем приложении MVC, он отлично работает со всеми браузерами. как примечание, почему вы не используете Bundles? вместо прямой ссылки на скрипты? – avrahamcool

+0

Спасибо @avrahamcool. На самом деле это ошибка в старой версии ko. Я загрузил последнюю версию нокаута с помощью packagemanager и его исправил в нем. (knockoutjs3.0.0) – user2243747

ответ

7

Это ошибка в каркасе нокаута и исправлена ​​в knockoutjs3.0.0. Вы можете загрузить последнюю библиотеку нокаута, используя nuget package manager

Смежные вопросы