knockout contentEditable binding

前端 未结 3 1352
再見小時候
再見小時候 2020-12-24 09:50

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

3条回答
  •  没有蜡笔的小新
    2020-12-24 09:59

    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;    
              }
          }
       };
    

提交回复
热议问题