Кнопка Dojo не выровнена по центру, когда она находится внутри диалога - PullRequest
1 голос
/ 12 июля 2011

в приведенном ниже коде я создал кнопку внутри диалогового окна, но кнопка не выровнена по центру, как сделать ее выровненной по центру?

var alert_dialog= new dijit.Dialog({ 
        id: "mydialog, 
        title: "My Alert", 
        content: "Hai" 
        }, this.name); 

alert_dialog.set("class","claro"); 

//----------------------------------------------------------------- 
//---------------- Button Creation Start -------------------------- 
//----------------------------------------------------------------- 

var button = new dijit.form.Button({ 
        id: "Alert_Button_"+this.name, 
        label: "Close" 
}); 

button.set("class", "claro"); 


dojo.connect(button, "onClick", function(){ 
    alert_dialog.destroy(); 
}); 

alert_dialog.domNode.appendChild(button.domNode); 

//alert_dialog.containerNode.appendChild(button.domNode); 

//----------------------------------------------------------------- 
//---------------- Button Creation End -------------------------- 
//----------------------------------------------------------------- 


dijit.byId(alert_dialog.id).show(); 

alert_dialog._setStyleAttr('border : 1.5px solid #000000'); 
alert_dialog._setStyleAttr('background : #FFFFFF');

Ответы [ 2 ]

2 голосов
/ 27 июля 2011

Я уверен, что есть много других хороших способов сделать это, но это работало хорошо, когда я проверял это.

var node, button;
node = dojo.create("div", {style: "margin: 0px auto 0px auto; text-align: center;"}, alert_dialog.domNode);
button = new dijit.form.Button({ 
      label: "Close",
      'class': "claro",
      onClick: alert_dialog.destroy
}).placeAt(node);

также размещение вашего класса и onClick в объявлении кнопки выглядит немного чище и экономит ваше время при наборе текста. Вы также можете сделать то же самое со стилем и классом для диалога.

0 голосов
/ 26 марта 2014

Это решение от Dojo AMD, надеюсь, поможет в обсуждении. Это функция, которая отображает диалоговое окно оповещения с содержимым HTML и центрированной кнопкой «Закрыть».

require([
    "dojo/dom-construct",
    "dijit/Dialog",
    "dijit/form/Button",
], function(domConstruct, Dialog, Button){


function showAlertDialog(htmlmsg, title) {
    if(!title) title = "Alert";

    var saddlg = new Dialog({title: title, style: "width: 300px;"}); 

    saddlg.set('content', htmlmsg);

    var saddiv = domConstruct.create("div", { style: "text-align: center; background:  white;" }, saddlg.domNode);

    var sadbtn = new Button({ label: "Close",
                              onClick: function(){
                                saddlg.hide();
                                domConstruct.destroy(saddlg);
                              }
                         });

    sadbtn.placeAt(saddiv);        
    saddlg.show();
}


});
...