1

我有以下html:

<span class="buttonSpan" id="btnComplete" data-bind="click: completePage, btnEnabled: isBtnCompleteEnabled">complete</span>  

这是我的视图模型的一个尝试:

ko.bindingHandlers.btnEnabled = {
  init: function (element, valueAccessor) {
     var value = valueAccessor();
     $(element).toggle(ko.utils.unwrapObservable(value));
   },
   update: function (element, valueAccessor) {
      var value = valueAccessor();
      ko.utils.unwrapObservable(value) ? $(element).removeClass("buttonDisabled") :                 
       $(element).addClass("buttonDisabled");
    }
 };

 self.isBtnCompleteEnabled = ko.observable(false);

CSS 在这一点上所做的就是改变 span 的颜色。

什么会导致这种情况发生?

谢谢

4

1 回答 1

2

初始化中的这一行

$(element).toggle(ko.utils.unwrapObservable(value));

正在将 display: none 添加到您的元素,因为值为 false。

于 2012-12-13T12:14:21.030 回答