我正在使用名为onSizeChange的dojox/widget/Portlet
事件。但是,它似乎没有起作用。以下是我的代码。
var portlet = new Portlet({
id : 'dynPortlet_' + PorNum + "_" + data.vid,
closable : true,
title : '' + vidgetName,
resizeChildren:true,
content : portletContent,
onSizeChange:function(widget){
alert(widget);
}
});
移动portlet时,不会发生onSizeChange事件。请帮忙。
答案 0 :(得分:0)
问题是:如果你只是拖放Portlet,那么大小就不会改变,而且你的eventlistener onSizeChange也不会做任何事情。
如果更改Portlet的内容(添加数据或删除),则更改大小并调用您的事件。
看看这个小提琴。我稍微更改了dojo-example,因此Portlet1的内容更改为Zero。大小已更改且Eventlistener已回答。
dojo.require("dojox.layout.GridContainer");
dojo.require("dojox.widget.Portlet");
dojo.require("dijit.form.DropDownButton");
dojo.require("dijit.TooltipDialog");
dojo.ready(function(){
// create a new GridContainer:
var gridContainer = new dojox.layout.GridContainer({
nbZones: 3,
opacity: .5,
hasResizableColumns: false,
allowAutoScroll: false,
withHandles: true,
dragHandleClass: 'dijitTitlePaneTitle',
style: {width:'100%'},
acceptTypes: ['Portlet'],
isOffset: true
}, 'placeHere');
// prepare some Content for the Portlet:
var portletContent1 = [
dojo.create('div', {
innerHTML: 'Some content within the Portlet "dynPortlet1".',
style:'background-color:#E0E0E0;border:1px'
})
];
// create a new Portlet:
var portlet1 = new dojox.widget.Portlet({
id: 'dynPortlet1',
closable: false,
dndType: 'Portlet',
title: 'Portlet "dynPortlet1"',
onSizeChange:function(){
alert('I have changed');
},
content: portletContent1
});
// create a new TooltipDialog:
var tooltipDialog=new dijit.TooltipDialog({
content: "Content for TooltipDialog",
style: {width:'320px'}
});
var ton = new dijit.form.DropDownButton({
label: "change",
onClick: function(){
portlet1.set("content","0");
}
});
// add the DropDownButton to the Portlet:
portlet1.addChild(ton);
// add the first Portlet to the GridContainer:
gridContainer.addChild(portlet1);
// startup GridContainer:
gridContainer.startup();
});