0

我正在以编程方式创建 dijit.form.ComboButton。但是,我想从中删除所有 dijit 样式(例如 dijitButtonNode 类)。当我将鼠标悬停在样式上时,我还想禁止样式更改。

目前,我只是在创建 ComboButton 后执行此操作:

dojo.query(".dijitButtonNode", myComboButton.domNode).removeClass("dijitButtonNode");

所以我的两个问题是,1)这是删除样式的最佳方法,以及 2)如何禁用悬停样式?

4

1 回答 1

0

HTML:

<div id="menu" dojoType="dijit.myComboButton">
    <span>Save Me</span>
    <div  dojoType="dijit.Menu" id="cmbmnu">
        <div dojoType="dijit.MenuItem">
            Save as
        </div>
        <div dojoType="dijit.MenuItem">
            Save as Email Draft             
        </div>
    </div>      
</div>

JS:

   dojo.provide("dijit.myComboButton");
   dojo.declare('dijit.myComboButton', [dijit.form.ComboButton],{
   postCreate:function(){
    this.inherited(arguments);
    //console.log(this.containerNode);
},
startup:function(){

    var x =dijit.byId('cmbmnu');

}
   })

在 postCreate 方法中执行您的 Dom 操作(css 类删除)。在启动方法中,对可能嵌套在组合按钮中的菜单或工具栏进行 Dom 操作(css 类删除)。

注意 myComboButton 是一个自定义小部件

于 2011-05-10T08:33:42.650 回答