(function(global){

  // For Android 4.3- (included)
  var pathFill = function() {
    var e = arguments[0];

    if (!e.path) {
      e.path = [];
      var t = e.target;
      while (t !== document) {
        e.path.push(t);
        t = t.parentNode;
      }
      e.path.push(document);
      e.path.push(window);
    }
  }

  document.body.addEventListener('click', pathFill);
  document.body.addEventListener('click', pathFill, true);

})(window);


(function(global){

  // For Android 4.3- (included)
  document.body.addEventListener('click', function(e) {
    if (!e.path) {
      e.path = [];
      var t = e.target;
      while (t !== document) {
        e.path.push(t);
        t = t.parentNode;
      }
      e.path.push(document);
      e.path.push(window);
    }
  }, true)

})(window);


--- 
+++ 
@@ -1,9 +1,7 @@
 (function(global){
 
   // For Android 4.3- (included)
-  var pathFill = function() {
-    var e = arguments[0];
-
+  document.body.addEventListener('click', function(e) {
     if (!e.path) {
       e.path = [];
       var t = e.target;
@@ -14,10 +12,7 @@
       e.path.push(document);
       e.path.push(window);
     }
-  }
-
-  document.body.addEventListener('click', pathFill);
-  document.body.addEventListener('click', pathFill, true);
+  }, true)
 
 })(window);
 
Handle event when bubbles event and catch event.
