Dojoを使用してツールバー内にDropDownButtonを作成しています。ツールバーとボタンは、次のように動的に作成されます。
this.widget = new Toolbar({ style: "background:black;" }, "toolbar");
this.dropMenu = new DropDownMenu({tooltip : "ToolTip", style: "display: none;"});
this.button = new DropDownButton({dropDown: this.dropMenu});
this.button.set('label', '<img src="data:image/png;base64,'+ this.icon + '"/>');
this.widget.addChild(this.button);
上記のコードは、ボタンのlabelプロパティにimg srcを設定することにより、base64でエンコードされた文字列からボタンの一部としてアイコンを動的に作成していることに注意してください。
DropDownButtonの「label」要素のクリックとボタンの下矢印のクリックを区別したいのですが、これが可能かどうかはわかりません。つまり、ラベルをクリックすると、onClickがキャプチャされますが、ドロップダウンは表示されません。ただし、下矢印をクリックするか、ボタンの他の場所をクリックすると、ドロップダウンが表示されます。
1つの代替方法は、これを標準のボタンに分割し、次にそれに隣接するドロップダウンボタンを分割することですが、単一の標準のDropDownButtonからこれを行う方法があるかどうか疑問に思っています。