docs: function dispatchPointerLeave(currentTarget, relatedTarget, generateProxy) {
          var commonParent = getFirstCommonNode(currentTarget, relatedTarget);
          var node = currentTarget;
          while (node && node !== commonParent) {//target range: this to the direct child of parent relatedTarget
              if (checkEventRegistration(node, 'pointerleave'))//check if any parent node has pointerleave
                  generateProxy(node);
              node = node.parentNode;
          }
      }