有没有办法同时使用jquery视觉反馈幽灵和捕捉网格功能?如果我尝试添加两个鬼似乎覆盖网格功能。感谢
答案 0 :(得分:1)
所以我为这个问题提交了一个修复jquery ui,它尚未被接受,据说它是一个不完整的解决方案。如果您对此重构有任何建议,将不胜感激。但是如果遇到同样的问题,我的修复就是在ui.resizable的_mouseStop函数中再次添加网格逻辑。只需在ui.resizable.js
的第322行下面添加此代码if(this.options.grid && this.options.ghost){
var o = self.options, cs = self.size, os = self.originalSize, op = self.originalPosition, a = self.axis, ratio = o._aspectRatio || event.shiftKey;
o.grid = typeof o.grid == "number" ? [o.grid, o.grid] : o.grid;
var ox = Math.round((cs.width - os.width) / (o.grid[0]||1)) * (o.grid[0]||1), oy = Math.round((cs.height - os.height) / (o.grid[1]||1)) * (o.grid[1]||1);
if (/^(se|s|e)$/.test(a)) {
self.size.width = os.width + ox;
self.size.height = os.height + oy;
}
else if (/^(ne)$/.test(a)) {
self.size.width = os.width + ox;
self.size.height = os.height + oy;
self.position.top = op.top - oy;
}
else if (/^(sw)$/.test(a)) {
self.size.width = os.width + ox;
self.size.height = os.height + oy;
self.position.left = op.left - ox;
}
else {
self.size.width = os.width + ox;
self.size.height = os.height + oy;
self.position.top = op.top - oy;
self.position.left = op.left - ox;
}
}
答案 1 :(得分:0)
简短回答,它是bug。
该错误的答案之一建议将ghost插件移动到jquery ui JS文件中可调整大小的扩展的顶部。我试过了,效果更好。