思路如下:
使用panel的onOpen事件,取得diglog的原始left和top
当用户在拖动dialog过程中,使用panel的onMove事件取得dialog所在父页面body的width和height,
通过计算,当用户将diglog拖动出body时,使用panel的move函数将dialog移动到初始的位置。
经过测试次方法可行,代码如下所示:
var
default_left;
default_top;
$(
'#details_dd'
).dialog({
title:
'详细信息'
,
modal:
true
onOpen:
function
(){
//dialog原始left
default_left=$(
).panel(
'options'
).left;
//dialog原始top
default_top=$(
).top;
},
onMove:
(left,top){
//鼠标拖动时事件
body_width=document.body.offsetWidth;
//body的宽度
body_height=document.body.offsetHeight;
//body的高度
dd_width= $(
).width;
//dialog的宽度
dd_height= $(
).height;
//dialog的高度
if
(left<1||left>(body_width-dd_width)||top<1||top>(body_height-dd_height)){
).dialog(
'move'
,{
left:default_left,
top:default_top
});
}