flex原生的弹出框只点击标题栏才能拖动弹框,用户不小心将标题栏脱出浏览器范围,就再没法拖回来了。
在弹框页面初始化方法中加入以下代码就可以防止以上问题的出现。
此代码的效果为弹框不会被拖出浏览器范围。
public function init():void{
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;
}
}
});
}