I\'ve written a custom binding handler that toggles whether or not an element is contentEditable. I also want any html bindings to update when the element\'s contents are e
In previous I have problem with bdo that resolve it by this code. also this code is usable for other contentEditable. so I suggest the following:
ko.bindingHandlers.bdoValue =
ko.bindingHandlers.contentEditable = {
'init': function(element, valueAccessor) {
var updateHandler = function() {
var modelValue = valueAccessor(),
elementValue = element.innerHTML;
modelValue(elementValue);
};
ko.utils.registerEventHandler(element, "keyup", updateHandler);
ko.utils.registerEventHandler(element, "input", updateHandler);
},
'update': function(elem, valueAccessor) {
var value = ko.utils.unwrap(valueAccessor())||"";
var current = elem.innerHTML;
if (value !== current) {
elem.innerHTML = value;
}
}
};