解决Jquery easyui中dialog、window、panel三个组件拖动超出父元素界限问题

针对Jquery easyui中dialog、window、panel组件在拖动时可能超出父元素边界的问题,本文提供了经过实践验证的解决方案,详细讨论了原有方案存在的问题并给出修正后的代码。
摘要由CSDN通过智能技术生成

在网上查了一些 对于此问题的改动,发现在实际中都有一些问题(比如 有时候父元素取不到,父元素的width和height取不到),于是在此基础上做了修改,亲测可用。

/**
 * 针对panel window dialog三个组件拖动时会超出父级元素的修正
 * @param left
 * @param top
 * @returns
 */


var easyuiPanelOnMove = function(left, top) {
	if (left < 0) {
		$(this).window('move', {
			left : 1
		});
	}
	if (top < 0) {
		$(this).window('move', {
			top : 1
		});
	}
	var width = parseInt($(this).parent().css('width'));
	var height = parseInt($(this).parent().css('height'));
	var parentWidth = $(window).width();
	var parentHeight = $(window).height();


	if (left > parentWidth - width) {
		$(this).window('move', {
			"left" : parentWidth - width
		});
	}
	if (top > parentHeight - height) {
		$(this).window('move', {
			"top" : parentHeight - height
		});
	}


};
$.fn.panel.defaults.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值