2010-12-08 3 views

답변

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; 
} 
} 
0

짧은 대답, 그 대답 bug.

그 버그에 대한 답변 중 하나는 ghost 플러그인을 jquery UI JS 파일의 크기를 조정할 수있는 확장 상단으로 옮길 것을 제안했습니다. 나는 그것을 시도하고 더 잘 작동했다.

+0

예,이 코드는 저를 위해 작동하지 않습니다. 그것은 당신을 위해 일하는가? ui.resizable.js 파일을 보내 주시겠습니까? – prestonparris

+0

nevermind, 방금 ui.resizable에서 _mouseStop을 수정하고 격자에 대한 논리를 추가했습니다 – prestonparris

+0

@princyp - 다른 대답을 추가하고 그 결과를 보여줄 수 있습니다. 그런 식으로 다른 사람이 같은 문제로 끝나면 적어도 간단한 해결 방법이 있습니다. – Ryley

관련 문제