dist/ZeroClipboard.js
function(el) {
    var pos = {
      left: 0,
      top: 0,
      width: 0,
      height: 0
    };
    if (el.getBoundingClientRect) {
      var elRect = el.getBoundingClientRect();
      var pageXOffset = _window.pageXOffset;
      var pageYOffset = _window.pageYOffset;
      var leftBorderWidth = _document.documentElement.clientLeft || 0;
      var topBorderWidth = _document.documentElement.clientTop || 0;
      var leftBodyOffset = 0;
      var topBodyOffset = 0;
      if (_getStyle(_document.body, "position") === "relative") {
        var bodyRect = _document.body.getBoundingClientRect();
        var htmlRect = _document.documentElement.getBoundingClientRect();
        leftBodyOffset = bodyRect.left - htmlRect.left || 0;
        topBodyOffset = bodyRect.top - htmlRect.top || 0;
      }
      pos.left = elRect.left + pageXOffset - leftBorderWidth - leftBodyOffset;
      pos.top = elRect.top + pageYOffset - topBorderWidth - topBodyOffset;
      pos.width = "width" in elRect ? elRect.width : elRect.right - elRect.left;
      pos.height = "height" in elRect ? elRect.height : elRect.bottom - elRect.top;
    }
    return pos;
  }
function(el) {
    var pos = {
      left: 0,
      top: 0,
      width: 0,
      height: 0
    };
    if (el.getBoundingClientRect) {
      var elRect = el.getBoundingClientRect();
      var pageXOffset = _window.pageXOffset;
      var pageYOffset = _window.pageYOffset;
      var leftBorderWidth = _document.documentElement.clientLeft || 0;
      var topBorderWidth = _document.documentElement.clientTop || 0;
      var leftBodyOffset = 0;
      var topBodyOffset = 0;
      if (_getStyle(_document.body, "position") === "relative") {
        var bodyRect = _document.body.getBoundingClientRect();
        var htmlRect = _document.documentElement.getBoundingClientRect();
        leftBodyOffset = bodyRect.left - htmlRect.left || 0;
        topBodyOffset = bodyRect.top - htmlRect.top || 0;
      }
      pos.left = elRect.left + pageXOffset - leftBorderWidth - leftBodyOffset;
      pos.top = elRect.top + pageYOffset - topBorderWidth - topBodyOffset;
      pos.width = "width" in elRect ? elRect.width : elRect.right - elRect.left;
      pos.height = "height" in elRect ? elRect.height : elRect.bottom - elRect.top;
    }
    return pos;
  }
function ( el ) { var pos = { left : 0 , top : 0 , width : 0 , height : 0 } ; if ( el . getBoundingClientRect ) { var elRect = el . getBoundingClientRect ( ) ; var pageXOffset = _window . pageXOffset ; var pageYOffset = _window . pageYOffset ; var leftBorderWidth = _document . documentElement . clientLeft || 0 ; var topBorderWidth = _document . documentElement . clientTop || 0 ; var leftBodyOffset = 0 ; var topBodyOffset = 0 ; if ( _getStyle ( _document . body , "position" ) === "relative" ) { var bodyRect = _document . body . getBoundingClientRect ( ) ; var htmlRect = _document . documentElement . getBoundingClientRect ( ) ; leftBodyOffset = bodyRect . left - htmlRect . left || 0 ; topBodyOffset = bodyRect . top - htmlRect . top || 0 ; } pos . left = elRect . left + pageXOffset - leftBorderWidth - leftBodyOffset ; pos . top = elRect . top + pageYOffset - topBorderWidth - topBodyOffset ; pos . width = "width" in elRect ? elRect . width : elRect . right - elRect . left ; pos . height = "height" in elRect ? elRect . height : elRect . bottom - elRect . top ; } return pos ; }
Get the absolutely positioned coordinates of a DOM element.

@returns Object containing the element's position, width, and height.
@private
Get the absolutely positioned coordinates of a DOM element .