From e46dfdb56512d7d458269ef1840d3d6fa6ceb206 Mon Sep 17 00:00:00 2001 From: Yannick Croissant Date: Tue, 17 Jul 2012 13:14:49 +0300 Subject: [PATCH] Fix _getContentPosition, the position was miscalculated if a positioned container had a border. --- src/Stage.js | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/Stage.js b/src/Stage.js index 90879530..1036ce1e 100644 --- a/src/Stage.js +++ b/src/Stage.js @@ -781,17 +781,13 @@ Kinetic.Stage = Kinetic.Container.extend({ * get container position */ _getContentPosition: function() { - var obj = this.content; - var top = 0; - var left = 0; - while(obj && obj.tagName !== 'BODY') { - top += obj.offsetTop - obj.scrollTop; - left += obj.offsetLeft - obj.scrollLeft; - obj = obj.offsetParent; - } + var + rect = this.content.getBoundingClientRect(), + root = document.documentElement + ; return { - top: top, - left: left + top: rect.top + root.scrollTop, + left: rect.left + root.scrollLeft }; }, /**