我无法得到这个工作: 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());