最近做项目的时候用到了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;
}
}
});
复制代码 代码如下:
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;
}
}
});
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » Flex控制弹出窗口拖动范围示例代码
发表评论 取消回复