Flex控制弹出窗口拖动范围示例代码

最近做项目的时候用到了TilteWindow形式的弹出窗口,发现有时候一不小心将窗口拖动到上面就拖不回来了,导致弹出窗口无法关闭,后来发现一个好的解决办法,在弹出窗口组件初始化的方法里面加上以下代码即可
 
this.addEventListener(TitleWindowBoundsEvent.WINDOW_MOVE,function(event:Event):void{
event.target.x = event.target.x < 0 ? 0 : event.target.x;
if(event.target.x + event.target.width > event.target.parent.width){
if(event.target.parent.width - event.target.width < 0){
event.target.x = 0;
}else{
event.target.x = event.target.parent.width - event.target.width;
}
}
event.target.y = event.target.y < 0 ? 0 : event.target.y;

if(event.target.y + event.target.height > event.target.parent.height ){
if(event.target.parent.height - event.target.height < 0){
event.target.y = 0;
}else{
event.target.y = event.target.parent.height - event.target.height;
}
}
});