【发布时间】:2015-08-10 15:07:54
【问题描述】:
我正在学习一些教程并尝试学习knockout.js。
我无法调用自定义绑定。
我的自定义绑定 JS 代码:
/// <reference path="knockout-3.3.0.debug.js" />
/// <reference path="jquery-1.10.2.min.js" />
/// <reference path="jquery-ui-1.11.4.min.js" />
ko.bindingHandlers.executeOnEnter = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
var allBindings = allBindingsAccessor();
$(element).keypress(function (data, event) {
var keyCode = (event.which ? event.which : event.keyCode);
if (keyCode === 13) {
allBindings.executeOnEnter.call(viewModel);
return false;
}
return true;
});
}
};
我使用以下代码绑定它:
<input type="text" data-bind="executeOnEnter: addData" />
但是,什么也没有发生。即使在自定义绑定函数上设置了alert,实际上也没有任何反应,这绝对意味着它没有被调用。
【问题讨论】:
-
这就是你的全部代码吗?你打电话给:ko.applyBindings?使用“addData”方法的视图模型在哪里?