这项工作是对我之前未回答的问题的回应:Resizable div doesn't stay within containment parameter
由于我的resizable
div(称为 pocket )不是我希望它包含的容器的直接子节点,因此我在{{提供了一个回调函数1}} 应该在容器中包含它的方法。
在这里小提琴:http://jsfiddle.net/dKuER/12/
我的问题
当您将resize
div重新调整为左侧(影响其resizable
位置)过去网格边界时,它始终尊重我在回调函数中的逻辑。当您向左拖动时,您会注意到一个闪烁的动作,div将在其硬编码的left
位置之间切换到鼠标确定的left
位置。
根据您停止拖动的时间,div的left
位置可能位于硬编码位置或鼠标停止拖动的位置。
如何确保回调函数的逻辑始终受到尊重?
left
答案 0 :(得分:0)
使用鼠标坐标和通过resizable
div的对象方法获得的宽度(如此明显!),而不是从一些模糊的计算中得出它,我能够达到正确的效果
var x = event.pageX - $('#grid').offset().left;
var y = event.pageY - $('#grid').offset().top;
if (x < 0)
{
ui.size.width = $(this).width();
ui.position.left = $(this).position().left;
}
我试图理解jquery.ui.resizable代码的核心,实现了这个解决方案。但是,我认为答案比我的答案更可接受。