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