0

如何禁用 TabBarButton?我希望它是不可点击的和灰色的。

指南中没有任何参数可以设置它。 https://dojotoolkit.org/reference-guide/1.9/dojox/mobile/TabBarButton.html

    createFooter : function() {

       this.inherited(arguments);

       this.footer = new Footer({}, this.footerNode);

       this.settingsBtn = new TabBarButton(
         {
          clickable:false,
          icon : "images/settingsIcon.png",
         }, domConstruct.create("li"));

       this.footer.addChild(this.settingsBtn);

       this.settingsBtn.onClick = lang.hitch(this, "settings");

      },

      settings : function() {

       alert("settings started");

    }
4

2 回答 2

1

我创建了自己的小部件,因为这不是 tabbarButton 的默认功能。这是我的代码:

    define([
        "dojo/_base/declare",
        "dojo/_base/lang",
        "dojo/on",
        "dojo/dom-class",
        "dojox/mobile/TabBarButton"
    ], function(declare, lang, on, domClass, TabBarButton) {
        return declare("TabBarButtonDisable",[TabBarButton], {

            onClickBackup:null,
            isDisabled : false,


            _setIsDisabledAttr : function(isDisabled) {
                this.isDisabled = isDisabled;
                this.renderIsDisabled();
            },
            _getIsDisabledAttr : function() {
                return this.isDisabled;
            },

            renderIsDisabled : function() {
                if (this.isDisabled) {
                    domClass.add(this.domNode, "disabled");
                    this.onClick = function(){
                // isDisabled
                    };
                } else {
                    domClass.remove(this.domNode, "disabled");
                    this.onClick = this.onClickBackup;
                }
            },

            buildRendering : function() {
                this.inherited(arguments);
                this.onClickBackup = this.onClick;
            },

            postCreate: function() {
                this.inherited(arguments);
            }

        });
    });
于 2013-10-03T08:55:12.087 回答
1

您可以将可点击设置为 false。它是父 _itembase 中的一个参数。

您的文档链接可能已过期,您可以在 _itembase 源代码中找到此参数。

于 2013-09-26T14:23:40.120 回答