これを機能させるのに問題があります: http://jsfiddle.net/2jg2F/1/
私は基本的に、誰かがテキストをクリックすると入力ボックスに変わるリンクを作りたいと思っています。ノックアウト 2.0 と 2.1 を試しました。
HTML
<div data-bind="clickToEdit : message"> </div>
Javascript
ko.bindingHandlers.clickToEdit = {
init: function(element, valueAccessor) {
var observable = valueAccessor(),
link = document.createElement("a"),
input = document.createElement("input");
element.appendChild(link);
element.appendChild(input);
observable.editing = ko.observable(false);
ko.applyBindingsToNode(link, {
text: observable,
visible: !observable.editing,
click: function() {
observable.editing(true);
}
});
ko.applyBindingsToNode(input, {
value: observable,
visible: observable.editing,
hasfocus: observable.editing
});
}
};
function ViewModel() {
this.message = ko.observable("Click on me to edit");
}
ko.applyBindings(new ViewModel());