2012-12-13 81 views
1

我有以下的html:爲什麼Knockout.js設置顯示爲none當自定義綁定設置爲false

<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在這一點上是改變跨度的顏色。

什麼會導致這種情況發生?

感謝

回答

2

這條線在你的init

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

是增加顯示:沒有你的因素,因爲價值是假的。

+0

哎呀 - 這是相當尷尬的:)謝謝 - 看不到樹林 - +1沒有讓我覺得笨重比絕對需要:) – davy

相關問題