Javascript 如何根据自己的需要适当调整dijit/confirm对话框的大小
我有一个350像素宽、200像素高的小型web应用程序。我有一个dijit确认对话框,单击按钮时会显示该对话框。没有显式设置对话框的尺寸,它将自身设置为比我的应用程序大,因此我必须调整窗口的大小以进入“确定/取消”按钮。当我尝试设置尺寸时,对话框弹出,我看到所有内容1秒钟,然后文本和按钮都消失了,我只有一个带有“确定/取消”按钮的空框 我发现在样式字段中使用Javascript 如何根据自己的需要适当调整dijit/confirm对话框的大小,javascript,css,dojo,dojo.gridx,Javascript,Css,Dojo,Dojo.gridx,我有一个350像素宽、200像素高的小型web应用程序。我有一个dijit确认对话框,单击按钮时会显示该对话框。没有显式设置对话框的尺寸,它将自身设置为比我的应用程序大,因此我必须调整窗口的大小以进入“确定/取消”按钮。当我尝试设置尺寸时,对话框弹出,我看到所有内容1秒钟,然后文本和按钮都消失了,我只有一个带有“确定/取消”按钮的空框 我发现在样式字段中使用overflow:auto可以让所有内容保持不变,并将滚动条添加到对话框中。然后我发现.dijitDialogPaneContent很大,尽
overflow:auto
可以让所有内容保持不变,并将滚动条添加到对话框中。然后我发现.dijitDialogPaneContent很大,尽管我正在设置对话框的尺寸。在我的CSS中手动设置大小会导致对话框组件出现奇怪的行为。我如何才能获得对话框及其组件的正确大小
CSS:
Javascript:
getCellWidgetConnects: function(cellWidget, cell){
// return an array of connection arguments
return [
[cellWidget.startStopBtn, 'onClick', function(e){
require(["dijit/ConfirmDialog","gridx/Grid", "dojo/domReady!"], function(ConfirmDialog,Grid){
var feedName = grid.model.store.get(cell.row.id).feedname;
var dContent = "Starting: " + feedName + "?";
myDialog = new ConfirmDialog({
title: "Confirm Start",
content: dContent,
style: "overflow:auto; width: 200px; height: 150px;", // height 150px works for the buttons
onExecute:function(){ //Callback function
console.log("Event Started");
restServices.sendStatusChangeStartStop(cell.row.id);
},
onCancel:function(){
console.log("Event Cancelled")
}
});
myDialog.show();
});
}]
];
}
ConfirmDialog应自动调整大小以适应视口,而无需任何自定义应用程序CSS
也许你只需要得到一个新版本的dojo。这听起来像是我修复的错误。您是否检查过其他定义的css类是否覆盖了样式,您在创建对话框时正在设置?我没有任何与这些项目相关的css类。我定义的唯一其他CSS与按钮有关。
getCellWidgetConnects: function(cellWidget, cell){
// return an array of connection arguments
return [
[cellWidget.startStopBtn, 'onClick', function(e){
require(["dijit/ConfirmDialog","gridx/Grid", "dojo/domReady!"], function(ConfirmDialog,Grid){
var feedName = grid.model.store.get(cell.row.id).feedname;
var dContent = "Starting: " + feedName + "?";
myDialog = new ConfirmDialog({
title: "Confirm Start",
content: dContent,
style: "overflow:auto; width: 200px; height: 150px;", // height 150px works for the buttons
onExecute:function(){ //Callback function
console.log("Event Started");
restServices.sendStatusChangeStartStop(cell.row.id);
},
onCancel:function(){
console.log("Event Cancelled")
}
});
myDialog.show();
});
}]
];
}