简体   繁体   English

knockout.js并禁用自定义绑定

[英]knockout.js and disable custom binding

I would like to bind disabled and css within a custom binding instead of using JQuery to assign a class and disabled it. 我想在自定义绑定中绑定disabled和css,而不是使用JQuery来分配类并禁用它。 Can you do this within a custom binding without doing $(element).attr('disabled', true).addClass('disabled'); 你能否在自定义绑定中执行此操作而不执行$(element).attr('disabled', true).addClass('disabled');

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

        }
    };

Knockout now contains a disable binding that mirrors the enabled one, you can either use jQuery or call the existing css and disabled bindings ( fiddle ): Knockout现在包含一个镜像启用的disable绑定,你可以使用jQuery或调用现有的css和禁用的绑定( 小提琴 ):

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

Html: HTML:

<input type="text" data-bind="value: name, myDisabled: !enabled()"/>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM