0

私はこのjsfiddleを持っており、右上に3つのボタンがあります。

右端にある「ベースマップ」と「凡例」の2つのボタンの内容は、ブラウザウィンドウから出ないように、期待どおりに左に向かって開きます。左ボタンの「マップオーバーレイ」の内容は、スペースがあるため、右に向かって開きます。

これらのDropDownButtonのコンテンツを変更して、デフォルトでコンテンツの右側がボタンの右側に揃えられるようにすることはできますか?

IE、左ボタンの開いたコンテンツ(「マップオーバーレイ」)を他のボタンの開いたコンテンツと同じように配置したいと思います。

4

1 に答える 1

0

必要な機能を備えたjsfiddleを修正しました。

DropDownButtondojo.connectのイベントにを追加することでこれを修正しました。onMouseDownDropDownButtonのx位置と幅からContentPaneの新しいx位置を計算します。次に、ContentPaneのDOMノードの親ノードノードを見つけ、そのleftスタイルパラメーターをその新しいx位置に設定します。

dojo.connect(dijit.byId("mapOverlayDropdown"), 'onMouseDown', function() {
    console.log("shown");

    var button = dijit.byId("mapOverlayDropdown").domNode;
    var gallery = dijit.byId("mapOverlayGallery").domNode.parentNode;

    var buttonPos = dojo.position(button, true);
    var galleryPos = dojo.position(gallery, true);

    var newX = buttonPos.x + buttonPos.w - galleryPos.w;

    gallery.style.left = newX.toString() + "px";
});
于 2012-07-27T15:41:18.637 に答える