Tag: 有缺陷的概念

jQuery的可拖动网格

看起来Draggable构造函数中的’grid’选项相对绑定到被拖动元素的原始坐标 – 所以简单地说,如果你有三个可拖动的div,它们的顶部分别相对于100,200,254像素相对给他们的父母: 当’grid’设置为[1,100]时,所有这些都被启用拖动: draggables = $(‘.draggable’); $.each(draggables, function(index, elem) { $(elem).draggable({ containment: $(‘#parent-div’), opacity: 0.7, revert: ‘invalid’, revertDuration: 300, grid: [1, 100], refreshPositions: true }); }); 这里的问题是,一旦你拖动div3 ,比如说,向下,它的顶部会增加100,将它移动到354px而不是仅仅增加46px (254 + 46 = 300),这将使它到达下一站在网格中 – 300px ,如果我们将parent-div视为参考点和“网格持有者”。 我查看了可拖动的源代码,它似乎是一个内置的缺陷 – 它们只是相对于可拖动元素的原始位置进行所有计算。 我想避免猴子修补可拖动库的代码,我真正想要的是如何使Draggable计算相对于包含父级的网格位置。 但是,如果猴子修补是不可避免的,我想我将不得不忍受它。