easyui弹出框位置超出

本文介绍了一个针对EasyUI框架中panel, window, dialog组件的拖动边界修正方法。当这些组件被拖动到其父级元素边界时,通过调整位置确保不会超出父级范围。修正逻辑考虑了父级元素的overflow属性,并根据该属性的不同值进行不同方向的限制。
/**
 * 针对panel window dialog三个组件拖动时会超出父级元素的修正
 * 如果父级元素的overflow属性为hidden,则修复上下左右个方向
 * 如果父级元素的overflow属性为非hidden,则只修复上左两个方向
 * @param left
 * @param top
 * @returns
 */
var easyuiPanelOnMove = function(left, top) {
	//alert(left);
	var parentObj = $(this).panel('panel').parent();
	if (left < 0) {
		$(this).window('move', {
			left : 1
		});
	}
	if (top < 0) {
		$(this).window('move', {
			top : 1
		});
	}
	var width = $(this).panel('options').width;
	var height = $(this).panel('options').height;
	var right = left + width;
	var buttom = top + height;
	var parentWidth = parentObj.width();
	var parentHeight = parentObj.height();
	if(parentObj.css("overflow")=="hidden"){
		if(width > parentWidth && left > parentWidth-width){
			$(this).window('move', {
				"left":parentWidth-width
			});
		}
		if(height > parentHeight && top > parentHeight-height){
			$(this).window('move', {
				"top":parentHeight-height
			});
		}
	}
};
//$.fn.panel.defaults.onMove = easyuiPanelOnMove;  
//$.fn.window.defaults.onMove = easyuiPanelOnMove;  
//$.fn.dialog.defaults.onMove = easyuiPanelOnMove;  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值