knockout.js并禁用自定义绑定

knockout.js并禁用自定义绑定,knockout.js,ko-custom-binding,Knockout.js,Ko Custom Binding,我希望在自定义绑定中绑定disabled和css,而不是使用JQuery分配类并禁用它。您可以在自定义绑定中执行此操作,而不必执行$(element).attr('disabled',true).addClass('disabled') Knockout现在包含一个镜像已启用绑定的disable绑定,您可以使用jQuery或调用现有的css和disabled绑定(): Html: 当然不会知道您可以访问这样的默认自定义绑定,谢谢! data_bind="enabled: classroomId(

我希望在自定义绑定中绑定disabled和css,而不是使用JQuery分配类并禁用它。您可以在自定义绑定中执行此操作,而不必执行
$(element).attr('disabled',true).addClass('disabled')


Knockout现在包含一个镜像已启用绑定的
disable
绑定,您可以使用jQuery或调用现有的css和disabled绑定():

Html:


当然不会知道您可以访问这样的默认自定义绑定,谢谢!
data_bind="enabled: classroomId(), css: { 'disabled' : !classroomId() }"


data_bind="disable: { !classroomId() }

ko.bindingHandlers.disable = {
        update: function (element, valueAccessor) {
            var disabled = ko.utils.unwrapObservable(valueAccessor());


                 // Disable and Add Class to Button or Anchor Tag

        }
    };
ko.bindingHandlers.myDisabled = {
    update: function(element, valueAccessor) {
        var value = ko.utils.unwrapObservable(valueAccessor());
        ko.bindingHandlers.css.update(element, function() {return { disabled: value }; });
        ko.bindingHandlers.disable.update(element, valueAccessor);
    }
};
<input type="text" data-bind="value: name, myDisabled: !enabled()"/>