From: Chris Rebert Date: Sat, 30 Aug 2014 20:02:05 +0000 (-0700) Subject: Handle lack of .width and .height from getBoundingClientRect() in IE8 X-Git-Tag: v3.3.0~178^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F14492%2Fhead;p=thirdparty%2Fbootstrap.git Handle lack of .width and .height from getBoundingClientRect() in IE8 Closes #14093 Correction to #14090 Relevant docs: https://developer.mozilla.org/en-US/docs/Web/API/Element.getBoundingClientRect#Browser_compatibility --- diff --git a/js/tooltip.js b/js/tooltip.js index e730db6e95..93e21e6919 100644 --- a/js/tooltip.js +++ b/js/tooltip.js @@ -324,6 +324,10 @@ var isSvg = window.SVGElement && el instanceof window.SVGElement var elRect = el.getBoundingClientRect() + if (elRect.width == null) { + // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 + elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) + } var elOffset = isBody ? { top: 0, left: 0 } : $element.offset() var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } var outerDims = isSvg ? {} : {