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;
}
}
});
}
本文介绍了一种解决Flex应用中弹出框被拖拽出浏览器可视区域的问题的方法。通过监听弹窗移动事件并调整位置,确保弹框始终位于浏览器内。
273

被折叠的 条评论
为什么被折叠?



